我有一个 jenkins 的工作。 这很简单:从 git 中提取,然后运行构建。
构建只需一步:
执行窗口命令批处理
在我的用例中,我需要运行一些 python 脚本。 有些人会失败,有些人不会。
python a.py
python b.py
什么决定了构建的最终状态? 似乎我可以通过以下方式进行编辑:
echo @STABLE > build.proprieties
但是,如果用户未指定,如何分配稳定/不稳定状态? 如果引发错误并失败 b.py 会发生什么情况?
>如果命令返回不等于零的退出代码,Jenkins 会将管道解释为失败。
在内部,构建状态是用currentBuild.currentResult
设置的,它可以有三个值:SUCCESS
、UNSTABLE
或FAILURE
。
如果您想自己控制管道的失败/成功,您可以捕获异常/退出代码并手动设置currentBuild.currentResult
的值。插件还使用此属性来更改管道的结果。
例如:
stage {
steps {
script {
try {
sh "exit 1" // will fail the pipeline
sh "exit 0" // would be marked as passed
currentBuild.currentResult = 'SUCCESS'
} catch (Exception e) {
currentBuild.currentResult = 'FAILURE'
// or currentBuild.currentResult = 'UNSTABLE'
}
}
}}