Jenkins Pipeline中如何跳过某些阶段

131次阅读
没有评论

问题描述

在使用Jenkins的脚本化流水线时,需要根据条件跳过某些阶段。除了在jenkinsfile中导入org.jenkinsci.plugins.pipeline.modeldefinition.Utils,还有其他方法可以在Jenkins UI上显示跳过的阶段吗?因为在运行build.gradle时,导入这个类会出现“无法解析类”的错误。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

默认情况下,Jenkins UI没有显示跳过阶段的方法。你可以在Jenkins JIRA上查看关于显示跳过阶段的问题报告。
以下是我了解到的一些解决方法:
1. 可以禁用Groovy沙箱,以允许导入上述类。具体操作可以参考Jenkins官方文档
2. 你还可以使用imperative-when插件来为脚本化流水线添加可视化效果。具体操作可以参考这篇博客文章(请注意,我个人没有测试过这个方法)。
3. 或者,你可以完全跳过可视化,而是在if语句中包装你的构建步骤以有条件地执行它们。在Jenkins UI中,如果一个阶段没有步骤,你会看到它执行时间为0ms,这至少表明它被跳过了,即使它没有明确显示为“跳过”。

希望这些解决方案能帮助到你。如果你有其他问题,请随时提问。

正文完