在我的大多数jenkins工作中,我都有 bash脚本。
在某些情况下,我想让我的构建不稳定。
当我使用代码0退出脚本时,构建在SUCCESS(绿色)中完成,当我退出另一个代码时,作业失败(红色)。
有没有办法让bash脚本中的jenkins作业不稳定(黄色)?
答案 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'
}
}