Jenkinsfile常用语法
2022-04-10 本文已影响0人
简单点的笨演员
Jenkins的Jenkinsfile文件就是一个文本文件,里面记录着用于描述整条流水线(pipeline)是如何进行的。流水线的内容包括执行编译,打包,测试,输出测试报告等步骤。在执行jenkins job的时候,会读取这个文件按照上面的描述来进行里面的操作。下面记录常用的语法:
命令 | 说明 |
---|---|
pipeline{ | 代表整条流水线 |
when { ... } | 执行前的条件判断,为真才执行 |
agent any | 指定流水线的执行位置(Jenkins agent) |
environment { | 设定环境变量供下面使用 |
DEBUG_FLAG = 'NO' | 下面引用:${DEBUG_FLAG} |
} | |
stages { | 流水线中的阶段,至少包含一个 stage |
stage('build') { | 代表流水线的阶段,必须有名字 |
when { | 这里也可以条件判断 |
branch 'production' | 分支为production |
environment name: 'DEBUG_FLAG', value: 'NO' | 判断环境变量DEBUG_FLAG |
} | |
steps { | |
sh ''' | 多行bash命令,三个 ' 开始与结束 |
echo "Hello world" | 执行的命令 |
''' | |
} | |
} | |
stage('Test') { ... } | |
stage('Deploy') { ... } | |
} | |
post { | post 是在 pipeline 或阶段完成后执行的步骤(可选部分) |
failure { | 执行失败时执行;支持多个状态 |
mail to: 'team@example.com', | |
subject: "The Pipeline failed: ${currentbuild.fullDisplayName}", | |
} | |
success { ... } | 执行成功时执行 |
always { ... } | 不论状态如何都执行 |
} | |
} |
注意:因为Markdown排版的问题,格子里复制出来的空格有问题,一定要删除掉!