簡體   English   中英

從 jenkins shell 腳本執行時 Diff 命令失敗

[英]Diff command failing when executed from jenkins shell script

我執行的 diff 命令很簡單,但是當從 jenkins 的 execute 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

構建步驟“執行 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

它的打印輸出並立即失敗

根據差異手冊頁:

_ 輸入相同時退出狀態為 0,不同時為 1,故障時為 2。_

如果文件不同, diff將退出狀態設置為 1。Jenkins 將執行步驟視為失敗,如果它返回的退出狀態不同於 0。

您可以再添加一個命令來捕獲這種情況:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM