我有一个在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“执行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脚本。
答案 0 :(得分:0)
在未成功找到问题原因之后,尽管我升级了操作系统,但是我还是很幸运!
配置不起作用
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