我正在 Jenkins 2.0 中使用管道作业,但我没有看到“禁用作业”选项,就像我在旧版 Jenkins 版本中所习惯的那样。我错过了什么吗?是否仍然可以禁用(管道)作业?
从 Jenkins 2.89.4 开始,您可以简单地使用“禁用项目”选项来禁用管道作业。
对于多分支管道项目,
现在,没有 github 分支触发器将运行构建作业。 (这将禁用所有分支的触发器)
我有一个类似的案例,发现我们的很多作业都是由自动“播种机”作业设置的,该作业从作业 DSL 创建它们,并且它们的配置不可编辑。所以我去了 GitHub 并禁用了连接两者的 webhook。因此该作业仍然处于活动状态,但不应再由 GitHub 活动触发。
如果像我一样,您的 Jenkins 作业是由 DSL 工作流程自动创建的,您将无法编辑包含所有实际分支的顶级作业的配置,以禁用从 github 挂钩的自动构建。我目前无法找到一种方法以编程方式禁用 jenkinsfile 中的整个管道,除了在每个阶段使用
when triggered by
子句(如其他 SO 答案中提到的那样)之外。此外,这会导致它运行并成功,这可能不是我们想要的。
所以对我来说最简单的解决方案是:
Jenkinsfile
以外的名称,以便 Jenkins 的 SCM 轮询不会拾取它。我选择了
Jenkinsfile.manual
。这假设作业自动创建器设置为查找“Jenkinsfile”;根据需要进行调整。
Jenkinsfile.manual
(或您选择的任何名称)。
Exclude: *
->
Branch Sources
->
GitHub
->
Behaviors
->
Filter by name (with wildcards)
部分中的所有分支 (
Exclude
)
GitHub -> 行为 -> 按名称过滤(带通配符) -> 排除:*"/>在 Jenkins 2.48 上,为您的作业选择“配置”选项。在右上角,您应该会看到启用/禁用作业的选项