如何从 bash 脚本使 jenkins 作业不稳定



在我的大多数 jenkins 工作中,我都有 bash 脚本

在某些情况下,我想使我的构建不稳定。

当我

以代码 0 退出脚本时,构建以成功(绿色(结束,当我使用另一个代码退出时,作业失败(红色(。

有没有办法从 bash 脚本中使 jenkins 作业不稳定(黄色(?

如果您使用管道插件并用时髦的pipline dsl编写作业,是的:

try {
    sh "yourscript.sh"
} catch(Exception e) {
    currentBuild.result = 'UNSTABLE'
}

Jenkins 旨在设置脚本退出代码为 1 时的自动失败。有很多方法可以覆盖它,但大多数都涉及 Jenkins CLI 或插件。使用 shell https://jenkins.io/doc/pipeline/steps/workflow-durable-task-step/命令的 returnStatus 标志,Jenkins 不会自动失败,而是返回状态代码。

以下是文档:

返回状态(可选(通常,以非零状态代码退出的脚本将导致步骤失败并出现异常。如果选中此选项,则步骤的返回值将是状态代码。例如,您可以将其与零进行比较。

script{
    def returnVal = sh(
        returnStatus: true,
        script: '''
        **your script here**
        '''
    )
    if(returnVal != 0) {
        currentBuild.result = 'UNSTABLE'
    }
}

最新更新