如何使用Jenkinsfile在Multibranch管道中禁用分支

Gay*_*nka 8 jenkins jenkins-pipeline multibranch-pipeline

我在詹金斯有一个多分支管道项目。当管道项目中列出分支时,我想禁用它。我可以添加一个异常来超过scm触发。但是我想禁用所有触发,包括手动触发。如果在为分支创建的作业中的“构建触发器”下使用了“禁用此项目”,则在重新加载页面时,不会选择该选项(没有保存/应用按钮可用于单个分支管道)。它仅保留在Jenkinsfile中配置的以下配置。

pipelineTriggers([
    snapshotDependencies(),
]),
Run Code Online (Sandbox Code Playgroud)

有什么方法可以在Jenkinsfile中指定“禁用此项目”

Her*_*arn 5

的确,您无法从Jenkins Job禁用项目,因为多分支管道无法控制从job更改设置

阻止分支建立的两种方法。

1)禁用分支

要控制设置,请转到PROJECT(要修改设置的项目)> Configure> Projects(启用高级设置)

在此处输入图片说明

“排除分支”中输入分支并保存设置。

2)重命名Jenkinsfile

如果您无法控制项目设置,则简单的方法是在project / branch中重命名Jenkinsfile

在此处输入图片说明

如果分支/项目中包含“ Jenkinsfile”,则此配置将定义触发构建。因此,重命名不会触发构建。

希望这可以帮助..

更新:AFAIK,您不能从Jenkisfile禁用该项目,但作为解决方法,您可以按以下方式配置cronjob:

properties([pipelineTriggers([cron('')])])
Run Code Online (Sandbox Code Playgroud)

如果cron中没有可用的配置,则构建将完全不会触发。