如何为Jenkins脚本添加pipeline步骤以通过Linter检查且不影响原有功能?
解决Jenkins Pipeline Linter的"缺少pipeline步骤"报错
问题原因
你的代码属于脚本式流水线,Jenkins本身可以直接运行未包裹pipeline块的脚本,但Pipeline Linter会强制要求显式使用pipeline步骤包裹整个流水线逻辑,否则触发该报错。
修改方案
将现有代码完整包裹在pipeline {}块中即可,无需修改try-catch异常处理逻辑(脚本式流水线原生支持Java风格的try-catch),修改后的代码如下:
pipeline { node('xxx') { try { stage("Get jenkins utils") { echo 'get utils to support my builds' } } catch (Exception err) { echo err.getMessage() } } }
说明
pipeline是脚本式流水线的顶层步骤,用于标识整个流水线的入口,仅用于满足Linter的检查要求,不会改变原有流水线的运行逻辑。- 原有try-catch逻辑完全保留,脚本式流水线支持这种异常处理机制,无需替换为其他方式。
- 修改后Jenkins仍会将其识别为脚本式流水线,运行行为和之前完全一致。
内容的提问来源于stack exchange,提问作者Gerhard
相关产品推荐
相关产品推荐

