Powershell
jenkins groovy 文件步驟管理:使步驟繼續以前的錯誤
您好,我使用 jenkins groovy 文件來管理管道的步驟。
結構就像:
> ``` > > 2 pipeline 3 { > 4 agent none > 5 > 6 options { > 7 timeout(time: 240, unit: 'MINUTES') > 8 } > 9 > 10 stages { > 11 stage ("clean xxxxxxx") { > 12 agent { > 13 node { > 14 label "xxxxxxx" > 15 customWorkspace "F:\\xxxxxxx" > 16 } > 17 } > 18 steps > 19 { > 20 script > 21 { > 22 bat """ > 23 f: > 24 cd \\ > 25 python > xxxxxxx/scripts/pipeline/removeOldJenkinsBuildDir.py --nbdays 30 > --delete yes 26 python > xxxxxxx/scripts/pipeline/cleanDotConan.py f: --delete > 27 Powershell("Get-wmiObject -Class > win32_logicaldisk") > 28 """ > 29 } > 30 } > 31 } > > ```
對於我列表中的每個節點,依此類推。
我的問題
如果一個步驟失敗了所有其餘的開始並忽略消息:
Stage "clean XXXXXXXX" skipped due to earlier failure(s)
。所以跳過了步驟,但我真的希望它們執行。
我的目標
在這裡設置一些東西可能在步驟或更高級別,以避免跳過並強制執行所有步驟。我能做些什麼呢?更改選項集?為每個步驟添加選項?
(事實上我發現了很多例子;但無法使用它們或崩潰了:))
這在官方文件中得到了解決,它提供了兩個建議:Pipeline 步驟
catchError { }
和原生 Groovytry
-處理異常catch
的finally
語法。由於聽起來您可能希望您的程式碼在許多不同的節點上重複,另一種選擇可能是將您的節點放入
parallel
blocks中。一個並行分支中的故障不會停止任何其他並行分支中的執行。