【问题标题】:How to make jenkins job unstable from a bash script?如何使 bash 脚本中的詹金斯工作不稳定?
【发布时间】:2017-04-14 14:56:40
【问题描述】:

在我的大部分 jenkins 工作中,我都有 bash 脚本

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

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

有没有办法让 bash 脚本中的 jenkins 工作不稳定(黄色)?

【问题讨论】:

标签: jenkins jenkins-plugins


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    这是文档:

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

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

    【讨论】:

    • 感谢您提供可能有助于解决问题的代码,但一般来说,如果答案包含对代码的用途以及解决问题的原因的解释,则会更有帮助。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多