如何欺骗Jenkins认为所有分支已经在多分支管道中运行?

时间:2018-06-10 06:10:43

标签: jenkins jenkins-pipeline jenkins-job-dsl

我正在使用multibranch管道在git仓库中构建一个项目,其中包含许多(大多数是休眠的)分支。各种Jenkins文件都存储在git repo中。

多分支管道作业都是使用job-dsl插件定义的。我运行job-dsl脚本时遇到问题;即使未更新job-dsl作业定义(并且未更新多分支管道作业),Jenkins也会对所有分支进行排队以进行构建。由于大量分支(以及可能在主服务器上运行的一些作业/分支),这最终会导致主服务器崩溃。

如何在运行我的job-dsl生成作业时将所有分支标记为“已构建”并避免此大规模冗余构建事件?

Jenkins 2.89.4 job-dsl 1.68

1 个答案:

答案 0 :(得分:2)

为SCM源指定id我刚刚解决了这个问题:

multibranchPipelineJob {
  branchSources {
    github {
      id('some-id')
      // ..
    }
  }
}