Krz*_*soń 23 groovy jenkins-workflow jenkins-pipeline jenkinsfile
我的代码类似于我在Jenkinsfile中的代码:
node {
checkout scm
// do some stuff
try {
// do some maven magic
} catch (error) {
stage "Cleanup after fail"
emailext attachLog: true, body: "Build failed (see ${env.BUILD_URL}): ${error}", subject: "[JENKINS] ${env.JOB_NAME} failed", to: 'someone@example.com'
throw error
} finally {
step $class: 'JUnitResultArchiver', testResults: '**/TEST-*.xml'
}
}
Run Code Online (Sandbox Code Playgroud)
如果上面的代码因为一些与jenkins-pipeline相关的错误而try { }
失败(例如使用未经批准的静态方法),则脚本会无声地失败.当我删除try/catch/finally时,我可以看到错误.难道我做错了什么?不应该重新抛出error
使管道错误出现在日志中?
编辑:当我使用尚未分配的变量时,我已设法将问题固定为groovy语法.示例:
echo foo
如果foo
未在任何地方声明/分配Jenkins将失败构建,并且如果它在try/catch/finally内部而不会重新抛出异常,则不会显示原因.
当在finally
块内或在重新抛出内部之前抛出另外的异常时会发生这种情况catch
.在这些情况下,它RejectedAccessException
被吞下并且script-security
没有被捕获.
归档时间: |
|
查看次数: |
43074 次 |
最近记录: |