微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Jenkins Shell脚本执行时,diff命令失败

如何解决从Jenkins Shell脚本执行时,diff命令失败

我执行的diff命令很简单,但是从詹金斯的专有shell脚本中给出时失败。

echo 'diff Delta_changes_current.txt Delta_changes_prevIoUs.txt >> PR.DELTA.FILES'
chmod 777 delta.sh
. ./delta.sh
diff Delta_changes_current.txt Delta_changes_prevIoUs.txt

构建步骤'Execute shell'将构建标记为失败

甚至没有错误可以找出问题所在。

当我直接从服务器运行相同命令时,命令将给出结果。

有人可以帮助我找到需要做的事情

..

以上代码片段来自日志。 让我仅通过运行命令来粘贴日志。


+ diff Delta_changes_current.txt Delta_changes_prevIoUs.txt
1,4c1
< ################################# Delta_Changes_currect file for Junit##########
< 
< /OptionlessVDDSController.java
< /OptionlessVDDSControllerTest_.java
\ No newline at end of file
---
> /Oraclebroker.java
Build step 'Execute shell' marked build as failure

其打印输出并立即失败

解决方法

根据 diff 手册页:

_如果输入相同,则退出状态为0;如果输入不同,则退出状态为1;如果输入错误,则退出状态为2。_

如果文件不同,则diff设置退出状态1。如果执行步骤返回的退出状态不同于0,则詹金斯将执行步骤视为失败。

您可以再添加一个命令来捕获这种情况:

(( $? < 2 )) && true # Convert status 1 to 0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。