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

标签 jenkins jenkins-pipeline jenkins-job-dsl

我正在使用多分支管道在 git 存储库中构建一个具有许多(大部分是休眠)分支的项目。各种 Jenkinsfile 都存储在 git 存储库中。

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

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

Jenkins 2.89.4 工作DSL 1.68

最佳答案

为 SCM 源指定一个 id 不久前为我解决了这个问题:

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

关于jenkins - 如何欺骗 Jenkins 认为所有分支都已经在多分支管道中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50781033/

相关文章:

python - 如何在 Jenkins 中创建一个通用函数来执行 python 脚本

jenkins - jenkins上的动态参数选择

java - Jenkins maven 还有其他 java 版本。如何解决?

jenkins - 在 Jenkins 管道中使用 Groovy 创建一个包含一些内容的文件

git - Jenkins git fetch 间歇性失败

batch-file - Jenkins 无法运行 exe 批处理命令?

ios - 如何运行在 Linux 服务器上设置的 ios Jenkins Job?

Jenkins 并行声明式管道

jenkins - 使用Jenkins Job DSL在Jenkins中使用Artifactory配置作业

jenkins - 使用 job dsl 设置 Jenkins Parameterized Scheduler Plugin