考虑我的声明性语法Jenkinsfile中的摘录
stage("Test") {
steps {
sh "sh run-tests.sh"
}
}
即使run-tests.sh
脚本以代码1退出,Jenkins作业的执行仍继续进行下一步。有谁知道这可能是什么原因?
编辑:谢谢您到目前为止的答复。我认为问题出在其他地方-正在执行的测试是由Python的nose2
库启动的,并且如果我没有记错的话,不管测试的状态如何,该命令都将以0退出。现在,我将继续关注该领导者,看看是否能解决问题。
答案 0 :(得分:0)
我找到了解决方案。我正在使用docker-compose运行测试,事实证明,无论我的测试脚本返回什么,docker-compose都会返回0。有关更多信息,请参见Details here。
我在--exit-code-from
命令中添加了docker-compose up
选项,现在我的CI作业中止,退出代码与我的Jenkinsfile相同(因此我的测试脚本也是如此)。