gpt4 book ai didi

docker - 如何修复 Jenkins 管道中的 "process apparently never started in ..."错误?

转载 作者:行者123 更新时间:2023-12-02 17:26:41 48 4
gpt4 key购买 nike

我在我的 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 进程卡在某个命令上。
一些建议:

  • 升级所有插件并重试。
  • 确保您拥有正确数量的执行程序,并且作业不会卡在队列中。
  • 如果您正在拉图像(不是您的本地镜像),请尝试添加 alwaysPull true (下一行到 image )。
  • 使用时 agentstage ,去除外层代理。 见:JENKINS-63449 .
  • 执行 org.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true在 Jenkins 的脚本控制台中进行调试。
  • 当进程卡住时,SSH 到 Jenkins VM 并运行 docker ps查看正在运行的命令。
  • 运行 docker ps -a查看最新的失败运行。就我而言,它试图运行 cat在容器设置的自定义 CMD 命令旁边(例如 ansible-playbook cat ),这是无效的命令。 cat command is used by design .要更改入口点,请阅读 JENKINS-51307 .
  • 如果您的容器仍在运行,您可以通过 docker exec -it -u0 $(docker ps -ql) bash 登录您的 Docker 容器。并运行 ps wuax看看在做什么。
  • 尝试删除一些全局变量(可能是一个错误),请参阅:parallel jobs not starting with docker workflow .
  • 关于docker - 如何修复 Jenkins 管道中的 "process apparently never started in ..."错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58346984/

    48 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com