gpt4 book ai didi

jenkins - 继续 Jenkins 管道过去失败的阶段

转载 作者:行者123 更新时间:2023-12-02 14:38:22 25 4
gpt4 key购买 nike

我有一系列执行快速检查的阶段。我想把它们全部完成,即使有失败。例如:

stage('one') {
node {
sh 'exit 0'
}
}
stage('two') {
node {
sh 'exit 1' // failure
}
}
stage('three') {
node {
sh 'exit 0'
}
}

阶段two失败,因此默认情况下阶段不会执行。

通常,这将是并行的工作,但我想在舞台 View 中显示它们。在下面的模型中:

  • Build #4 显示了通常发生的情况。作业two失败,因此 Three无法运行。
  • 我对 Build #6 进行了 Photoshop 处理,以展示我想看到的内容。作业 two 失败并按原样显示,但 two 仍在运行。真正的 Jenkins 可能会显示整个 Build #6 略带红色,这当然很好。

Mock up of desired Stage View result

最佳答案

现在这是可能的。下面是声明性管道的示例,但 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 将显示为失败:

Pipeline Example

正如您可能已经猜到的,您可以自由选择 buildResultstageResult,以防您希望它不稳定或出现其他情况。您甚至可以使构建失败并继续执行管道。

只需确保您的 Jenkins 是最新的,因为这是一个相当新的功能。

编辑:您需要 "Pipeline: Basic Steps" 2.16 (May 14, 2019)

关于jenkins - 继续 Jenkins 管道过去失败的阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40600621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com