一千萬個為什麽

搜索

最幹凈的方式過早退出詹金斯管道工作的成功?



我有一份將創建文件的工作,除非其中一個值被提供給它與舊值相匹配。 Jenkins最簡單的方法是放棄或退出這個工作,沒有 FAILED ?它退出是正確的行為,所以我希望構建標記為 SUCCESS

它會以這樣的陳述結束;

stage ('Check value') {

     if( $VALUE1 == $VALUE2 ) {
       //if they do match exit as a success, else continue with the rest of the job 
    }

}

我不想拋出一個錯誤代碼,除非這可以以某種方式轉化為標記為成功的構建。

轉載註明原文: 最幹凈的方式過早退出詹金斯管道工作的成功?

一共有 2 個回答:

弄清楚了。在任何階段之外(否則這只會成功結束特定階段)執行以下操作;

if( $VALUE1 == $VALUE2 ) {
   currentBuild.result = 'SUCCESS'
   return
}

return will stop the stage or node you're running on which is why running it outside of a stage is important, while setting the currentBuild.result prevents it failing.

老實說,你不應該特別使用exit命令,但是有一個 Conditional BuildStep Plugin ,它可能會達到相同的最終結果(不運行的代碼)。

我還沒有面對這個,所以沒有使用插件。

There is also conditionals as found in this prior Stack Overflow post on Jenkins: Jenkins Pipeline Conditional Step/Stage