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