gpt4 book ai didi

docker - 在Jenkins上执行Shell脚本时,作业随机失败

转载 作者:行者123 更新时间:2023-12-02 18:36:06 25 4
gpt4 key购买 nike

我有一个在Ubuntu 16.04.2 x64上运行的jenkins服务器,但是最近执行Shell脚本时,作业开始随机失败。我可以在服务器上手动执行脚本,并且可以运行,但是当jenkins执行时,由于以下原因,脚本将失败:

失败1

JavaProcess leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information
Build step 'Execute shell' marked build as failure

失败2
# gradle script that downloads some jars..
Download https://jcenter.bintray.com/org/pegdown/pegdown/1.6.0/pegdown-1.6.0.jar
Build step 'Execute shell' marked build as failure
Skipped archiving because build is not successful

无法在 失败2 中下载失败的 jar 并不总是相同的。

我试图将 Jenkins 更新到最新版本(2.164.2),但仍然存在相同的问题。

我已经尝试过提到的解决方案
Process leaked file descriptors error on JENKINS
对于 失败1 ,但没有成功,仍然以相同的方式失败。

更新1

我已经在我的shell脚本中将此问题本地化为这一部分:
# Run script in docker container
chmod +x tmp.sh
docker run --entrypoint=/bin/bash -v $(pwd):/src --workdir=/build mydocker/myimage -c "/src/tmp.sh"
rm -f tmp.sh

因此,当docker通过Jenkins“Execute shell”执行tmp.sh时,它会随机失败。

从docker journalctl -u docker.service登录
May 21 10:33:23 jenkins dockerd[1332]: time="2019-05-21T10:33:23.886024261Z" level=error msg="attach: stdout: write unix /var/run/docker.sock->@: write: broken pipe"
May 21 10:33:25 jenkins dockerd[1332]: time="2019-05-21T10:33:25.186663914Z" level=error msg="attach: stderr: write unix /var/run/docker.sock->@: write: broken pipe"
May 21 10:33:25 jenkins dockerd[1332]: time="2019-05-21T10:33:25.186715731Z" level=error msg="attach failed with error: write unix /var/run/docker.sock->@: write: broken pipe"

从Docker容器 docker container logs cranky_cori登录
BUILD SUCCESSFUL

Total time: 38.273 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.14/userguide/gradle_daemon.html

结论

到stdout的管道和stderr损坏,jenkins将其报告为构建失败,但是docker容器日志显示docker继续执行并成功完成了gradle脚本。

最佳答案

在未成功找到问题原因之后,尽管我升级了操作系统,但是我还是很幸运!

配置不起作用

Ubuntu 16.04.2 x64
----------------------------
- Docker version 17.03.1-ce
- Jenkins 2.64.2
NOR
- Docker version 18.09.6
- Jenkins 2.64.2
- Jenkins 2.64.3

升级Ubuntu后,这对我有用
Ubuntu 18.04.2 LTS 
----------------------------
- Docker version 18.09.6
- Jenkins 2.64.3

关于docker - 在Jenkins上执行Shell脚本时,作业随机失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56146414/

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