3
A
回答
0
在新的管道中,您可以使用try-catch來實現這一點。
node{
try{
build job: 'system-check-flow'
}
catch (err){
echo "system-check-flow failed"
}
try{
build job: 'job2'
}
catch (err){
echo "job2 failed"
}
}
這裏它將構建'系統檢查流程'作業。如果失敗,將捕獲錯誤,忽略,然後着手構建「作業2」
2
要忽略在聲明管線中的失敗一步你基本上有兩種選擇:
- 使用
script
一步,try-catch
塊(類似於前面的命題通過R_K但在聲明樣式)
stage('someStage') { steps { script { try { build job: 'system-check-flow' } catch (err) { echo err } } echo currentBuild.result } }
- 使用
catchError
stage('someStage') { steps { catchError { build job: 'system-check-flow' } echo currentBuild.result } }
在這兩種情況下,構建也不會例外,在中build job: 'system-check-flow'
中止。在這兩種情況下,echo
步驟(以及其他任何後續步驟)都將被執行。
但是在這兩個選項之間有一個重要區別。在第一種情況下,如果try
部分引發異常,則整體構建狀態將不會更改(因此echo currentBuild.result
=>SUCCESS
)。在第二種情況下,您的整體構建將失敗(因此echo currentBuild.result
=>FAILURE
)。
這一點很重要,因爲你總是可以在第一種情況下(通過設置currentBuild.result = 'FAILURE'
)失敗的整體構建,但你不能修復建立第二個選項(currentBuild.result = 'SUCCESS'
將無法正常工作)。
相關問題
- 1. 可能會忽略vs2005自定義構建步驟失敗?
- 2. Visual Studio Online構建步驟忽略PackageLocation
- 3. TeamCity構建步驟 - MSBuild中的失敗
- 4. 構建步驟'Retrieving needed toolchain components'tarballs失敗
- 5. 通過API知道哪個構建步驟失敗
- 6. 即使構建步驟失敗,如何繼續Jenkins構建?
- 7. 如果步驟不穩定,Jenkins管道失敗
- 8. Jenkins管道外殼步驟
- 9. Apache Beam:在已構建的管道中跳過步驟
- 10. jenkins DSL配置構建管道中的手動批准步驟
- 11. Gradle構建同步失敗
- 12. QtCreator部署步驟失敗
- 13. Jenkins在構建步驟'npm i'時失敗
- 14. 在TFS 2015上運行Git命令構建步驟失敗
- 15. TFS 2015構建Powershell步驟報告失敗但無錯誤
- 16. 在鏡像歸檔步驟後Ant構建失敗
- 17. TeamCity和Team Foundation Server 2012的構建步驟失敗
- 18. 從Hudson/jenkins上的失敗點重新啓動構建步驟
- 19. 構建步驟'Windows PowerShell'標記爲失敗,爲什麼?
- 20. Xcode腳本構建步驟,複製框架失敗
- 21. 在Nuget恢復步驟中VSTS構建失敗
- 22. 在構建失敗條件時需要跳過TeamCity步驟
- 23. TeamCity API - 確定哪個構建步驟導致失敗
- 24. Specflow忽略在F#步驟彙編中的步驟
- 25. AWS EMR步驟失敗,因爲它創建的作業失敗
- 26. Jenkins - 構建步驟
- 27. 「構建步驟」調用頂級Maven目標'標記構建失敗「錯誤
- 28. 構建步驟'調用頂級Maven目標'標記構建爲失敗
- 29. 谷歌分析漏斗忽略步驟
- 30. 黃瓜JUNIT步驟執行忽略
雖然這看起來像會起作用,但它不是使用聲明式管道語法來構建的。 – Sven