即使shell脚本返回非零值,声明性Jenkinsfile也不会退出

时间:2018-10-19 13:00:49

标签: jenkins jenkins-pipeline

考虑我的声明性语法Jenkinsfile中的摘录

stage("Test") {
      steps {
        sh "sh run-tests.sh"
      }
}

即使run-tests.sh脚本以代码1退出,Jenkins作业的执行仍继续进行下一步。有谁知道这可能是什么原因?

编辑:谢谢您到目前为止的答复。我认为问题出在其他地方-正在执行的测试是由Python的nose2库启动的,并且如果我没有记错的话,不管测试的状态如何,该命令都将以0退出。现在,我将继续关注该领导者,看看是否能解决问题。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我正在使用docker-compose运行测试,事实证明,无论我的测试脚本返回什么,docker-compose都会返回0。有关更多信息,请参见Details here

我在--exit-code-from命令中添加了docker-compose up选项,现在我的CI作业中止,退出代码与我的Jenkinsfile相同(因此我的测试脚本也是如此)。