Powershell

jenkins groovy 文件步驟管理:使步驟繼續以前的錯誤

  • February 7, 2021

您好,我使用 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 { }和原生 Groovy try-處理異常catchfinally語法。

由於聽起來您可能希望您的程式碼在許多不同的節點上重複,另一種選擇可能是將您的節點放入parallelblocks中。一個並行分支中的故障不會停止任何其他並行分支中的執行。

引用自:https://serverfault.com/questions/1052479