Passer en dessous d'une erreur étrange dans le pipeline 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
L'étape correspondante dans le pipeline Jenkins est
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"
}
}
}
}
Quelles pourraient être les raisons pour lesquelles le processus ne démarre pas dans le conteneur Docker? Tous les conseils sur la façon de déboguer plus loin sont également utiles.
Le problème est dû à des changements de rupture introduits dans le plugin Jenkins durable-task v1.31.
La source:
https://issues.jenkins-ci.org/browse/JENKINS-59907 et https://github.com/jenkinsci/durable-task-plugin/blob/master/CHANGELOG .md
Solution: la mise à niveau du plug-in de tâches durables Jenkins vers v1.33 a résolu le problème pour nous.
Vous avez le même comportement, avec plug-in de tâche durable v1.
Jenkins 2.176.2 core
pipeline: nœuds et processus 2.35
Jenkinsfile
pipeline {
agent { label "slave" }
stages {
stage("test") {
steps {
withDockerContainer (image: 'busybox') {
sh 'pwd'
}
}
}
}
}
journaux:
$ 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] }