流水线(Pipeline)是什么?
在工业中,流水线是生产方式,用于制造商品。在软件工程中,流水线是生产方式,实现软件从版本仓库到用户产品这个过程,用于制造软件。流水线由处理元素链组成,依序排列,每个处理元素的输出是下个处理元素的输入。
在 Jenkins 中,Jenkins Pipeline 是指支持实现和集成持续交付流水线(Continuous Delivery Pipeline)到Jenkins中的插件集。持续交付流水线,也是生产方式,实现软件从版本仓库到用户这个过程的自动化的表达。如此说来 Jenkins 本来就支持流水线,它是通过图形化界面配置的方式来实现流水线(拉取代码,构建,打包,测试,发布)。在 Jenkins 1.x 中,只能通过界面配置实现流水线。在 Jenkins 2.x 中,可以通过代码实现流水线,通过代码描述工作任务(这正是我们要介绍的)。
问题解决方案
通过代码实现控制 Jenkins 执行自动化任务,解决以下问题:
(1)更好的版本管理:既然流水线由代码实现,则可以将流水线提交到版本仓库进行管理。传统的图形化配置难以进行版本控制。
(2)更好的代码审查:在仓库中的代码对所有人可见,有利于代码审查。传统的图形化配置难以进行审查。
(3)更好的流程重用:多种项目可以采用相同的流水线,实现流水线的重用。在传统图形化中,任务只能单独配置、互相复制(或者使用接口配置)。
功能及其特性
实际应用场景
相关链接
Jenkins/Pipeline
Pipeline Syntax
相关文章
「Selenium」- 搭建本地环境(Linux)
「Selenium Grid 3」- 使用 Java / Groovy 语言
「第5章」- 持续交付的软件系统架构
「Selenium」- Element XXX is not clickable at point (672, 582)
「Nexus Repository Manager」
「Jenkins Pipeline」- 使用 Jenkinsfile 文件(学习笔记)
「Git」- 安装(Debian)
「GitLab CI/CD」- 在远程主机中执行命令
参考文献
百度百科/流水线
Wikipedia/Pipeline (software)
What is Jenkins Pipeline?