文章目录
七. pipeline(流水线)
一般会用Python,而不是这个
pipline 是帮助 Jenkins 实现 CI 到 CD 转变的重要角色,是运行在 jenkins 2.X
版本的核 心插件,简单来说 Pipline 就是一套运行于 Jenkins 上的工作流框架,将原本独立运行
于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程,从而实现单个任务很难实现的复杂流程编排和任务可视化,Pipeline 的实现方式是一套Groovy DSL
,任何发布流程都可以表述为一段 Groovy
脚本
1. pipeline 语法
- Stage:阶段,一个 pipline 可以划分为若干个 stage,
每个 stage 都是一个操作
,比如clone
代码、代码编译、代码测试和代码部署,阶段是一个逻辑分组,可以跨多个 node
执行。 - Node:节点,
每个 node 都是一个 jenkins 节点
,可以是 jenkins master 也可以是jenkins agent,node 是执行 step 的具体服务器。 - Step:步骤,step 是 jenkins pipline 最基本的操作单元,从在服务器创建目录到构建容器镜像,由各类 Jenkins 插件提供实现,例如: sh “
make
”
2. pipeline 优势
- 可持续性:jenkins 的重启或者中断后不影响已经执行的 Pipline Job
- 支持暂停:pipline 可以选择停止并等待人工输入或批准后再继续执行。
- 可扩展:通过 groovy 的编程更容易的扩展插件。
- 并行执行:通过
groovy 脚本可以实现 step
,stage 间的并行执行,和更复杂的相互依赖关系。
3. pipeline job 测试:
1. 创建 pipeline job:
安装 pipeline 插
自定义安装插件
系统管理 --> 插件管理 —> 高级 --> 选中文件 --> 上传
定义视图:
测试简单 pipline job 运行:
Pipeline 测试命令:
node {
stage("clone 代码"){
echo "代码 clone"
}
stage("代码构建"){
echo "代码构建"
}
stage("代码测试"){
echo "代码测试"
}
stage("代码部署"){
echo "代码部署"
} }
Jenkins Web 界面配置
执行 pipline job:
自动生成拉取代码的 pipeline 脚本
点击 流水线语法 跳转至生成脚本 URL:
生成流水线脚本:
更改 pipline job:
node {
stage("clone 代码"){
git branch: 'develop', credentialsId: '0e23c215-2853-4bdf-9198-481f28ac0e1b',
url: '