16-Jenkins-Pipeline-声明式流水线语法-stages/steps/post指令
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16-Jenkins-Pipeline-声明式流水线语法-stages/steps/post指令相关的知识,希望对你有一定的参考价值。
目录
前言
- 前一篇学习了agent的语法,本篇继续网下学习-stages/steps/post的语法及使用。
stages
- 包含一系列一个或多个 stage 指令,
stages
部分是流水线描述的大部分"work" 的位置,在声明式Pipeline脚本中只允许出现一次stages。 建议stages
至少包含一个 stage 指令用于连续交付过程的每个离散部分,比如构建, 测试, 和部署。
steps
steps
部分在给定的stage
指令中执行的定义了一系列的一个或多个steps。必须包含一个或多个步骤
脚本示例
pipeline
// 任意一个机器执行
agent any
// stages可有一个或多个stage
stages
stage('Build')
// 必须包含一个或多个步骤
steps
echo 'Build'
stage('Test')
steps
echo 'Test'
stage('Deploy')
steps
echo 'Deploy'
post
post
部分定义一个或多个steps ,这些阶段根据流水线或阶段的完成情况而 运行(取决于流水线中post
部分的位置).post
支持以下 post-condition 块中的其中之一:always
,changed
,failure
,success
,unstable
, 和aborted
。这些条件块允许在post
部分的步骤的执行取决于流水线或阶段的完成状态。
条件用法
- always:无论流水线或阶段的完成状态如何,都允许在
post
部分运行该步骤。使用场景:测试后数据清理恢复,发送邮件等 - changed:只有当前流水线或阶段的完成状态与它之前的运行不同时,才允许在
post
部分运行该步骤。 - failure:只有当前流水线或阶段的完成状态为"failure",才允许在
post
部分运行该步骤, 通常web UI是红色。 - success:只有当前流水线或阶段的完成状态为"success",才允许在
post
部分运行该步骤, 通常web UI是蓝色或绿色。 - unstable:只有当前流水线或阶段的完成状态为"unstable",才允许在
post
部分运行该步骤, 通常由于测试失败,代码违规等造成。通常web UI是黄色 - aborted:只有当前流水线或阶段的完成状态为"aborted",才允许在
post
部分运行该步骤, 通常由于流水线被手动的停止构建。通常web UI是灰色。
脚本示例
pipeline
// 任意一个机器执行
agent any
// stages可有一个或多个stage
stages
stage('Build')
// 必须包含一个或多个步骤
steps
echo 'Build'
stage('Test')
steps
echo 'Test'
stage('Deploy')
steps
echo 'Deploy'
// 仅做示例,按需使用
post
always
// 不管构建状态是什么,都会执行.
echo 'always'
unstable
// 只有当前流水线或阶段的完成状态为"unstable",才运行该步骤.
echo 'unstable'
aborted
// 只有当前流水线或阶段的完成状态为"aborted",才运行该步骤.
echo 'aborted'
failure
// 只有当前流水线或阶段的完成状态为"failure",才运行该步骤.
echo 'failure'
changed
// 只有当前流水线或阶段的完成状态与它之前的运行不同时,才运行该步骤.
echo 'changed'
以上是关于16-Jenkins-Pipeline-声明式流水线语法-stages/steps/post指令的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins教程——从安装到部署Docker服务声明式流水线HelloWorld
18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool
17-Jenkins-Pipeline-声明式流水线语法-environment/options/parameters指令