如何禁用詹金斯管道作业

问题描述 投票:0回答:8

我正在 Jenkins 2.0 中使用管道作业,但我没有看到“禁用作业”选项,就像我在旧版 Jenkins 版本中所习惯的那样。我错过了什么吗?是否仍然可以禁用(管道)作业?

jenkins jenkins-pipeline
8个回答
45
投票

从 Jenkins 2.89.4 开始,您可以简单地使用“禁用项目”选项来禁用管道作业。


27
投票
  • 转到作业配置
  • 在“构建触发器”下选择“禁用此项目”
  • 保存

enter image description here


24
投票

如果您没有找到禁用按钮。这应该可以满足大多数工作的需要。只需将

/disable
附加到作业 URL 的末尾即可。然后 Jenkins 会将您重定向到一个页面,您可以在其中
Post
。同样适用于
/enable

enter image description here


18
投票

没有选项可以禁用 jenkins-pipeline 作业。

以下 jira 票证正在跟踪该问题:

https://issues.jenkins-ci.org/browse/JENKINS-27299


15
投票

对于多分支管道项目,

  • 单击管道“配置”
  • 在“分支来源”下,在“房地产策略”下方
    • 单击“添加属性”
    • 选择“抑制自动SCM触发”

现在,没有 github 分支触发器将运行构建作业。 (这将禁用所有分支的触发器)


0
投票

我有一个类似的案例,发现我们的很多作业都是由自动“播种机”作业设置的,该作业从作业 DSL 创建它们,并且它们的配置不可编辑。所以我去了 GitHub 并禁用了连接两者的 webhook。因此该作业仍然处于活动状态,但不应再由 GitHub 活动触发。


0
投票

如果像我一样,您的 Jenkins 作业是由 DSL 工作流程自动创建的,您将无法编辑包含所有实际分支的顶级作业的配置,以禁用从 github 挂钩的自动构建。我目前无法找到一种方法以编程方式禁用 jenkinsfile 中的整个管道,除了在每个阶段使用

when triggered by
子句(如其他 SO 答案中提到的那样)之外。此外,这会导致它运行并成功,这可能不是我们想要的。

所以对我来说最简单的解决方案是:

    将存储库中所有分支上的 Jenkinsfiles 名称更改为
  1. Jenkinsfile
     以外的名称,以便 Jenkins 的 SCM 轮询不会拾取它。我选择了
    Jenkinsfile.manual
    。这假设作业自动创建器设置为查找“Jenkinsfile”;根据需要进行调整。
  2. 自动创建的作业应该在下次扫描存储库时自行删除,无论是来自 github 挂钩、计划扫描还是您按“立即扫描”。
  3. 为您的存储库手动创建一个新的多分支管道作业,设置
  4. 构建配置以查找Jenkinsfile.manual
    (或您选择的任何名称)。
  5. 配置您通常使用的任何分支行为,但还要添加属性策略:
  6. 所有分支都获得相同的属性>抑制自动 SCM 触发
这对我来说感觉“正确”,你的里程因我而异。


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.