背景
jenkins1.x主要是实现的持续集成的过程,集成各种插件,但是终究需要人为手工操作,但是流程有些复杂,人为容易出错。于是jenkins2.x就有了pipeline,用代码的方式进行job的构建。pipeline是使用groovy语言编写的。
pipeline语法介绍
1、agent:
该部分指定整个pipeline或者特定阶段将在Jenkins环境中执行的位置,具体却绝育agent部分的防止位置。该部分必须在pipeline块内的顶层定义,也可以使用在stage级。
agent的一些参数:
any:在认可可用的机器上执行怕pipeline;
none:当在pipeline顶层使用none时,每个stage需要指定想用的agent;
lable:在指定的机器上运行pipeline或者stage,如 agent{ label 'slave1'}
docker:定义这个参数后,指定pipelin或stage时会动态接收一个指定节点的docker的镜像,并且还可以接收一个args参数用于执行docker run的参数。
agent{
docker{
image 'mydocker' //指定docker的镜像名称
label 'slave1' //指定在哪个机器上执行docker镜像
args '-v /tmp:/tmp' //运行时传入docker run的参数
}
}
2、stage
表示这个pipeline的某一个执行阶段,使逻辑变得更加简单明了。
3、steps
包含一个或者多个在stage块中执行的step序列。比如,拉取代码,运行maven clean操作。
4、enviroment
指定健值对,可用于step中,主要是为常量或者变量赋值,根据所在的位置来决定其作用范围。
5、options
允许执行pipeline内置的专用选项,也可以使用由插件提供的。
6、parameters
提供触发pipeline时的参数列表
7、trigger
定义了触发pipeline的方式
8、tools
自动安装工具
9、when
可以用来执行一些代码逻辑
10、post
可以根据pipeline的状态来执行一些操作。
网友评论