Jenkins Pipeline 语法
官网
##
https://www.jenkins.io/doc/book/pipeline/
参考文章
##
https://www.jianshu.com/p/215584419f3d
根据Jenkins官网Pipeline给出的解释, 流水线语法分为两种,
- 一种是声明式流水线(Declarative Pipeline)
- 另一种是脚本式流水线(Scripted Pipeline)
声明式流水线
声明式流水线脚本的基本框架如下,需要注意的地方有:
- 最外层的pipeline{} 表示整个流水线,包含所有的具体实现
- agent 字段必不可少
- stages{} 结构只能有一个,但一个stages{}结构能包含多个 stage{}
- 每个stage{}都必须有特定名称,每个stage{}有且只能包含一个steps{}
pipeline {agent any //agent 后面指定此流水线任务的运行节点,一般为固定节点的ip地址//agent any表示指定在任何节点上运行此流水线任务stages {stage('Build') { //定义构建阶段steps {// 执行具体构建任务...}}stage('Test') { //定义单元测试阶段steps {// 执行具体测试内容...}}stage('Deploy') { //定义部署阶段steps {// 执行具体部署操作。。。}}}
}
定义options
options {timestamps() // 日志会有时间skipdefaultcheckout() // 删除隐式的checkout scm语句disableConcurrentBuilds() // 禁止并行timeout(time:1,unit: 'HOURS') // 流水线超时设置1h
}
定义stages
stages 下一般有steps(步骤)
指定构建后的操作:
解释:
- always{}: 总是执行脚本片段
- success{} : 成功后执行
- failure{}: 失败后执行
- aborted{}: 取消后执行