私はDocker Pipeline Pluginを使ってDockerコンテナ経由でビルドスクリプトを実行しています。私は、inside()
コマンド内で実行するときにスクリプトがゼロ以外の終了コードを返した場合、Jenkinsはパイプラインの実行を失敗としてマークすることに気付きました。私はwithRun()
コマンドを使用している場合、同様のJenkinsfileはない原因ビルドがdocker ps -l
コマンドは、コンテナが非で終了することを示しているにもかかわらず、失敗するだろう、しかしDocker Pipeline Plugin withRunコマンドがゼロ以外の終了コードを返す場合、Jenkinsビルドに失敗するにはどうすればよいですか?
docker.image('alpine').inside() {
sh 'exit 1'
}
:この例Jenkinsfileは、そのシナリオを示していますゼロの状態:
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()
がゼロ以外のコードでコンテナが終了した場合、ビルドを失敗にする方法はありますか?