如何通过bash脚本使jenkins工作不稳定?

时间:2017-04-14 14:56:41

标签: jenkins jenkins-plugins

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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'
    }
}