【发布时间】:2024-05-02 19:15:04
【问题描述】:
我正在使用Docker Pipeline Plugin 通过 Docker 容器执行我的构建脚本。我注意到,如果在inside() 命令中执行时脚本返回非零退出代码,Jenkins 会将管道执行标记为失败。这个 Jenkinsfile 示例说明了这种情况:
docker.image('alpine').inside() {
sh 'exit 1'
}
但是,如果我使用 withRun() 命令,类似的 Jenkinsfile 不会 导致构建失败,即使 docker ps -l 命令显示容器以非零状态退出:
node() {
sh 'touch ./test.sh'
sh 'echo "exit 1" >> ./test.sh'
sh 'chmod 755 ./test.sh'
docker.image('alpine').withRun("-v ${WORKSPACE}:/newDir", '/bin/sh /newDir/test.sh') {container ->
sh "docker logs ${container.id} -f"
sh 'docker ps -l'
}
}
如果容器以非零代码退出,有没有办法让withRun() 构建失败?
【问题讨论】:
标签: docker jenkins jenkins-plugins jenkins-pipeline