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. 在构建失败条件时需要跳过TeamCity步骤
- 14. TeamCity API - 确定哪个构建步骤导致失败
- 15. Jenkins在构建步骤'npm i'时失败
- 16. 在Nuget恢复步骤中VSTS构建失败
- 17. 在镜像归档步骤后Ant构建失败
- 18. 在TFS 2015上运行Git命令构建步骤失败
- 19. 构建步骤'Windows PowerShell'标记为失败,为什么?
- 20. TeamCity和Team Foundation Server 2012的构建步骤失败
- 21. Xcode脚本构建步骤,复制框架失败
- 22. TFS 2015构建Powershell步骤报告失败但无错误
- 23. 从Hudson/jenkins上的失败点重新启动构建步骤
- 24. Specflow忽略在F#步骤汇编中的步骤
- 25. AWS EMR步骤失败,因为它创建的作业失败
- 26. Jenkins - 构建步骤
- 27. “构建步骤”调用顶级Maven目标'标记构建失败“错误
- 28. 构建步骤'调用顶级Maven目标'标记构建为失败
- 29. 谷歌分析漏斗忽略步骤
- 30. 黄瓜JUNIT步骤执行忽略
虽然这看起来像会起作用,但它不是使用声明式管道语法来构建的。 – Sven