我有我的Jenkins管道的Probems。我想要執行以下操作: 如果構建環境已經存在於Workspace中,則執行使用先前環境的(增量)構建。Jenkins管道:Try/catch insyde重試塊
如果失敗了乾淨的構建重試(刪除以前Buiod環境,然後重新編譯)
我試圖做到這一點:
retry(1) {
try {
prepareEnvironment()
setupBuildEnvironment() // sets up environment if it is not present yet
runBuild()
} catch (e) {
echo 'Err: Incremental Build failed with Error: ' + e.toString()
echo ' Trying to build with a clean Workspace'
removeOldBuildEnvironment()
} finally {
cleanupEnvironment()
}
}
當我在詹金斯和運行這個runBuild()
一步失敗了,我得到:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: 腳本不得使用新java.lang.Except ion java.lang.String
我認爲問題是重試(1)塊內的try/catch。任何建議如何解決這個問題
我也嘗試過沒有重試。在這裏,我不得不說,如果
bat "..."
步內runBuild()返回一個例外管道爲失敗,即使我趕上exeption和乾淨的構建是成功的舞臺被標記的問題。
有什麼建議嗎?