Jenkinsパイプラインで奇妙なエラーを下回る
[Pipeline] withDockerContainer
acp-ci-ubuntu-test does not seem to be running inside a container
$ docker run -t -d -u 1002:1006 -u ubuntu --net=Host -v /var/run/docker.sock:/var/run/docker.sock -v /home/ubuntu/.docker:/home/ubuntu/.docker -w /home/ubuntu/workspace/CD-acp-cassandra -v /home/ubuntu/workspace/CD-acp-cassandra:/home/ubuntu/workspace/CD-acp-cassandra:rw,z -v /home/ubuntu/workspace/CD-acp-cassandra@tmp:/home/ubuntu/workspace/CD-acp-cassandra@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** quay.io/arubadevops/acp-build:ut-build cat
$ docker top 83d04d0a3a3f9785bdde3932f55dee36c079147eb655c1ee9d14f5b542f8fb44 -eo pid,comm
[Pipeline] {
[Pipeline] sh
process apparently never started in /home/ubuntu/workspace/CD-acp-cassandra@tmp/durable-70b242d1
(running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true might make the problem clearer)
[Pipeline] }
$ docker stop --time=1 83d04d0a3a3f9785bdde3932f55dee36c079147eb655c1ee9d14f5b542f8fb44
$ docker rm -f 83d04d0a3a3f9785bdde3932f55dee36c079147eb655c1ee9d14f5b542f8fb44
[Pipeline] // withDockerContainer
Jenkinsパイプラインの対応するステージは
stage("Build docker containers & coreupdate packages") {
agent {
docker {
image "quay.io/arubadevops/acp-build:ut-build"
label "acp-ci-ubuntu"
args "-u ubuntu --net=Host -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/.docker:/home/ubuntu/.docker"
}
}
steps {
script {
try {
sh "export CI_BUILD_NUMBER=${currentBuild.number}; cd docker; ./build.sh; cd ../test; ./build.sh;"
ciBuildStatus="PASSED"
} catch (err) {
ciBuildStatus="FAILED"
}
}
}
}
Dockerコンテナー内でプロセスが開始されない理由は何ですか?さらにデバッグする方法についてのポインタも役立ちます。
この問題は、Jenkins耐久タスクプラグインv1.31で導入されたいくつかの重大な変更が原因で発生します。
ソース:
https://issues.jenkins-ci.org/browse/JENKINS-59907 および https://github.com/jenkinsci/durable-task-plugin/blob/master/CHANGELOG .md
解決策:Jenkins耐久タスクプラグインをv1.33にアップグレードすると、問題が解決しました。
durable-taskプラグインv1.を使用して同じ動作をしました
Jenkins 2.176.2コア
パイプライン:ノードとプロセス2.35
ジェンキンスファイル
pipeline {
agent { label "slave" }
stages {
stage("test") {
steps {
withDockerContainer (image: 'busybox') {
sh 'pwd'
}
}
}
}
}
ログ:
$ docker run -t -d -u 1003:1003 -w /srv/jenkins/workspace/My_Pipeline_master -v /srv/jenkins/workspace/My_Pipeline_master:/srv/jenkins/workspace/My_Pipeline_master:rw,z -v /srv/jenkins/workspace/My_Pipeline_master@tmp:/srv/jenkins/workspace/My_Pipeline_master@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** busybox cat
$ docker top e38aaf9336221725b254e6cc273764d13890941c5b29b8191a4c990606da3fb1 -eo pid,comm
[Pipeline] {
[Pipeline] sh
process apparently never started in /srv/jenkins/workspace/My_Pipeline_master@tmp/durable-92981ede
(running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true might make the problem clearer)
[Pipeline] }