Pipeline 简单来说,就是一套运行再 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。
Pipeline 的以下好处:
代码:Pipeline 以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。
持久:无论是计划内的还是计划外的服务器重启,Pipeline 都是可以恢复的。
可停止:Pipeline 可接收交互式输入,以确定是否继续执行 Pipeline。
多功能:Pipeline 支持实现世界中复杂的持续交付要求,它支持 fork/join、循环执行,并行执行任务的功能。
可扩展:Pipeline 插件支持其 DSL 的自定义扩展,以及与其他插件集成的多个选项。
如何创建 Jenkins Pipeline 呢 ?
1、Pipeline 脚本是由 Groovy 语言实现的,但是我们没必要去单独学习 Groovy
2、Pipeline 支持两种语法:Declaretive(声明式) 和 Scripted Pipeline (脚本式) 语法
3、Pipeline 也有两种创建方法,可以直接在 Jenkins 的 Web UI 界面中输入脚本,也可以通过创建一个 Jenkinsfile 脚本文件放入项目源码库中(一般推荐在 Jenkins 中直接从源代码中直接载入Jenkinsfile Pipeline 这种方法 )。
2.1、安装 Pipeline 插件
Manage Jenkins -> Manage Plugins -> 可选插件
安装完插件后,创建项目的时候多了 “流水线” 类型
流水线 -> 选择 Hello World 模板:
声明式:
脚本式:
阶段视图:
拉取代码(声明式):通过 流水线语法 去自动生成对应的脚本
片段生成器
选择拉取代码的示例
生成流水线脚本
复制脚本到 steps 的括号里面,并保存应用
开始构建
控制台查看构建过程
控制台显示
Pipeline script from SCM
以上我们都是从 Jenkins 的 UI 界面编写 Pipeline 代码,这样不方便脚本维护,建议把 Pipeline 脚本放在项目中进行保存维护。
Jenkinsfile 文件放在项目的根目录下,保存上传 git 仓库
在 Jenkins 的 UI 界面选择脚本文件
剩下来的步骤和上面的一样,进行构建。