Jenkins 错误处理:在构建完成后使用 try/catch 发布到日志并检查错误



这次我有另一个关于管道的问题,关于使用 try/catch 处理错误。我正在做的是在阶段外使用"尝试",这样我就可以很容易地分辨出哪些阶段失败了,哪些阶段通过了。这非常有效。

我现在需要担心所有日志的日志记录和成功/失败。所以这是我的困境:我想让它构建(尝试)然后错误检查(捕获),然后输出成功,如果它已经构建并检查错误。如果错误检查 (catch) 捕获错误,则输出到日志 FAILURE。我确信解决方案正盯着我的脸,而我错过了它。这是我拥有的(简单版本)不是很优雅:

env.STAGE_STATUS = ""
try {
stage ('Build Setup') {
echo "Did this work?"
}
} catch (errors) {
echo "This did not work!"
env.STAGE_STATUS = "FAIL"
}
if ("%STAGE_STATUS%" != "FAIL") {
echo "This did work!"
}

一如既往地感谢您的任何帮助。

在舞台内使用 try/catch/finally 看起来更优雅,至少更具可读性。如果您想失败构建(这基本上与示例中失败阶段的原因相同,这也是作业本身失败的原因)使用以下 varcurrentBuild.result,顺便说一句,这是全局可访问的。这么说,我会选择这段代码:

stage('Build Setup') {
try {
echo 'Did this work?'
} catch {
echo 'This did not work!'
currentBuild.result = 'FAILED'
} finally {
if (currentBuild.result != 'FAILED') {
echo 'This did work!'
}
}
}

最新更新