pipline
pipline是帮助Jenkins实现CI到CD转变的重要角色,是运行在jenkins 2.X版本的核心插件,简单来说Pipline就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程,从而实现单个任务很难实现的复杂流程编排和任务可视化,Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本。
pipline 语法
Stage:阶段,一个pipline可以划分为若干个stage,每个stage都是一个操作,比如clone代码、代码编译、代码测试和代码部署,阶段是一个逻辑分组,可以跨多个node执行。
Node:节点,每个node都是一个jenkins节点,可以是jenkins master也可以是jenkins agent,node是执行step的具体服务器。
Step:步骤,step是jenkins pipline最基本的操作单元,从在服务器创建目录到构建容器镜像,由各类Jenkins 插件提供实现,例如: sh “make”
pipline优势
可持续性:jenkins的重启或者中断后不影响已经执行的Pipline Job
支持暂停:pipline可以选择停止并等待人工输入或批准后再继续执行。
可扩展:通过groovy的编程更容易的扩展插件。
并行执行:通过groovy脚本可以实现step,stage间的并行执行,和更复杂的相互依赖关系。
pipline job测试
创建pipline job
测试简单pipline job运行
Pipeline 测试命令:
node {
stage("clone 代码"){
echo "代码 clone"
}
stage("代码构建"){
echo "代码构建"
}
stage("代码测试"){
echo "代码测试"
}
stage("代码部署"){
echo "代码部署"
}
}
Jenkins Web界面配置:
执行pipline job
自动生成拉取代码的pipline脚本
点击 流水线语法 跳转至生成脚本URL:
生成流水线脚本:
更改pipline job
node {
stage("clone 代码"){
git branch: 'develop', credentialsId: 'd7e3bd0b-fd88-4ffa-b330-2258e93319ed', url: 'git@10.0.0.100:magedu/app1.git'
}
stage("代码构建"){
echo "代码构建"
}
stage("代码测试"){
echo "代码测试"
}
stage("代码部署"){
echo "代码部署"
}
}
执行jenkins job
验证git clone日志
Jenkins服务器验证clone代码数据
[root@jenkins-ubuntu ~]#cat /var/lib/jenkins/workspace/pipeline-test/index.html
<h1>magedu/app1 v11 </h1>
[root@jenkins-ubuntu ~]#
本文链接:http://www.yunweipai.com/35836.html
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/courses/52612.html