Jenkins 2.x实践指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2 pipeline入门

2.1 pipeline是什么

从某种抽象层次上讲,部署流水线(Deployment pipeline)是指从软件版本控制库到用户手中这一过程的自动化表现形式。——《持续交付——发布可靠软件的系统方法》[1](下称《持续交付》)

按《持续交付》中的定义,Jenkins本来就支持pipeline(通常会把部署流水线简称为pipeline,本书会交替使用这两个术语),只是一开始不叫pipeline,而叫任务。

Jenkins 1.x只能通过界面手动操作来“描述”部署流水线。Jenkins 2.x终于支持pipeline as code了,可以通过“代码”来描述部署流水线。

使用“代码”而不是UI的意义在于:

• 更好地版本化:将pipeline提交到软件版本库中进行版本控制。

• 更好地协作:pipeline的每次修改对所有人都是可见的。除此之外,还可以对pipeline进行代码审查。

• 更好的重用性:手动操作没法重用,但是代码可以重用。

本书全面拥抱pipeline as code,放弃依赖手动操作的自由风格的项目(FreeStyle project)。