gpt4 book ai didi

Jenkins:忽略管道构建步骤中的失败

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

使用 jenkins 构建流程插件,这是可能的:

ignore(FAILURE){
build( "system-check-flow" )
}

如何使用声明式管道语法来做到这一点?

最佳答案

要忽略声明式管道中失败的步骤,您基本上有两个选择:

  1. 使用 script 步骤和 try-catch block (类似于 R_K 之前的命题,但采用声明式风格)
stage('someStage') {
steps {
script {
try {
build job: 'system-check-flow'
} catch (err) {
echo err.getMessage()
}
}
echo currentBuild.result
}
}
  • 使用catchError
  • stage('someStage') {
    steps {
    catchError {
    build job: 'system-check-flow'
    }
    echo currentBuild.result
    }
    }

    在这两种情况下,构建都不会因构建作业:“system-check-flow”中出现异常而中止。在这两种情况下,都会执行 echo 步骤(以及任何其他后续步骤)。

    但这两个选项之间有一个重要区别。在第一种情况下,如果 try 部分引发异常,则整体构建状态不会更改(因此 echo currentBuild.result => SUCCESS) 。在第二种情况下,您的整体构建将失败(因此 echo currentBuild.result => FAILURE)。

    这很重要,因为在第一种情况下您总是可能会导致整个构建失败(通过设置 currentBuild.result = 'FAILURE'),但您不能修复第二个选项中的构建(currentBuild.result = 'SUCCESS'不起作用)。

    关于Jenkins:忽略管道构建步骤中的失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44022775/

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