【发布时间】:2017-12-02 06:08:08
【问题描述】:
我经常收到此错误。这是非常不一致的,有时它在那里,但很多时候它不是。我在管道代码中使用持久任务插件来运行 shell 命令。我在日志中包含了上一个命令,其中一个 chmod 将执行标志添加到 java 文件。
Running in /var/lib/jenkins/jobs/My_Jobs/jobs/ubuntuvm04/workspace/build/tools/java/jre/bin
[Pipeline] {
[Pipeline] sh
[bin] Running shell script
+ chmod +x ./java
[Pipeline] sh
[bin] Running shell script
+ sync
[Pipeline] sh
[bin] Running shell script
+ sleep 5
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (check java version)
[Pipeline] sh
[workspace] Running shell script
+ ./build/tools/java/jre/bin/java -version
/var/lib/jenkins/jobs/My_Jobs/jobs/ubuntuvm04/workspace@tmp/durable-b87cfd9e/script.sh: line 2: ./build/tools/java/jre/bin/java: Text file busy
.
我几乎要放弃这个错误,恐怕我最终会编写代码来继续重试执行失败的行,但是基于该错误,文本文件繁忙问题是否涉及 script.sh制作的插件,还是java文件?我正在尝试运行
【问题讨论】:
-
我在发布之前确实看过那些,我相信这是与 Jenkins 插件相关的,因为该插件是创建 workspace@tmp/durable-b87cfd9e/script.sh 的插件。我什至不确定错误是在 script.sh 文件还是 java 文件上?
-
看起来像
java可执行文件。你为什么chmod呢?我会说这构成了写入,并可能导致该问题。作业是否同时运行? -
有些作业同时运行,但每个作业都有自己的工作区,其中包含此 java 可执行文件的副本。由于某种原因,我 chmod 可执行文件没有 -x 在上一步中从存档中解压缩。但是睡眠 5、同步……还不够吗?
标签: shell jenkins jenkins-plugins jenkins-pipeline