我有一系列执行快速检查的阶段。我想把它们全部完成,即使有失败。例如:
stage('one') {
node {
sh 'exit 0'
}
}
stage('two') {
node {
sh 'exit 1' // failure
}
}
stage('three') {
node {
sh 'exit 0'
}
}
Stage two
失败,所以默认阶段three
没有被执行。
通常这将是一份工作parallel
,但我想在舞台视图中显示它们。在下面的模拟中:
- Build #4 显示了通常发生的情况。工作
two
所以失败了three
不运行。
- 我对 Build #6 进行了 Photoshop 处理,以展示我想看到的内容。工作
two
失败并显示为这样,但是three
仍在运行。真正的 Jenkins 可能会显示整个 Build #6 略带红色,这当然很好。
现在这是可能的。下面是声明性管道的示例,但是catchError
也适用于脚本化管道。
pipeline {
agent any
stages {
stage('1') {
steps {
sh 'exit 0'
}
}
stage('2') {
steps {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh "exit 1"
}
}
}
stage('3') {
steps {
sh 'exit 0'
}
}
}
}
在上面的示例中,所有阶段都将执行,管道将成功,但阶段 2 将显示为失败:
正如您可能已经猜到的,您可以自由选择buildResult
and stageResult
,以防您希望它不稳定或其他任何情况。您甚至可以使构建失败并继续执行管道。
只需确保您的 Jenkins 是最新的,因为这是一个相当新的功能。
EDIT:你需要《管道:基本步骤》2.16(2019年5月14日) https://plugins.jenkins.io/workflow-basic-steps
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)