我在 Azure Pipeline Job 中有一個失敗的任務。在我的情況下,任務的失敗并不重要,所以我想知道是否可以跳過失敗的任務并正常執行以下任務,而不會將整個作業標記為Failed或Partially Succeeded。如果其他任務執行正確,我希望作業仍然是成功的。
管道是手動執行的,相關任務通過 CMD 腳本提交一個 git 存盤庫。Job 下載存盤庫,重寫其中的一些檔案,然后提交并推送它。重寫后的檔案最終可能與以前的內容相同,因此 git 無法識別任何更改并且提交失敗。
任務:
- task: CmdLine@2
displayName: 'Commit Repository'
inputs:
script: 'git commit -am "Commited by pipeline"'
workingDirectory: '$(SYSTEM.DEFAULTWORKINGDIRECTORY)'
continueOnError: true
錯誤:
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
##[error]Cmd.exe exited with code '1'.
我用 來防止作業失敗continueOnError: true,但這標志著作業,因此管道構建為構建部分成功,帶有橙色!-圖示。
我還嘗試使用 、 和 重定向來自 CMD 的錯誤> nul,2> nul但這> nul 2>&1只會隱藏錯誤訊息,而不是錯誤本身。或者至少不是來自管道構建。
有沒有辦法從管道中“隱藏”一個 CMD 錯誤,以便任務仍然被標記為成功?
還是continueOnError: true我能做到的最好?
謝謝你的幫助
uj5u.com熱心網友回復:
此外continueOnError: true,您可以嘗試回傳 0 的腳本:
script: |
git commit -am "Committed by pipeline
exit 0
這樣0,即使提交失敗(因為沒有要提交的內容),腳本的退出狀態也會是(成功)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/453498.html
標籤:混帐 天蓝色的devops 命令 天蓝色管道
