繁体   English   中英

Jenkins 多分支管道不尊重 Jenkinsfile 中的静默期

[英]Jenkins multibranch pipeline does not respect quiet period in Jenkinsfile

我正在使用具有安静期的声明性 Jenkinsfile:

  options {
    quietPeriod(180)
    // more options
  }

工具版本:

  • 詹金斯 - 2.190.3
  • 管道多分支插件 - 2.21
  • 管道声明性插件 - 1.4.0

现在的问题是,在 GitHub SCM 更改上,独立管道项目尊重静默期,但多分支管道项目不尊重。 它也不会返回任何错误,只是在接收到 webhook 时立即触发构建。

我知道关于此的未解决问题JENKINS-37588

使用带有build(job: 'my-job', quietPeriod: 180)上游包装器作业是不可行的,因为我有数百个多分支项目。

有没有人能够找到解决方案或可行的替代方案? 任何帮助将不胜感激。

我认为 - 不幸的是 - 这目前是不可能的。

这里有一张未解决的票: https : //issues.jenkins-ci.org/browse/JENKINS-37588

此问题也已经有一个开放的拉取请求: https : //github.com/jenkinsci/branch-api-plugin/pull/190

执行此操作后,多分支管道尊重安静期:

  • 在多分支管道中,配置 > 分支源 > 属性策略 > 添加属性 > '抑制自动 SCM 触发'

  • 在 Jenkinsfile 中,将构建触发器设置为“Poll SCM”,但不指定时间表。 如果由网络钩子触发,这只会由于 SCM 更改而运行。 (我想如果您使用的是 GitHub,您可以选择“GitHub hook trigger for GITScm polling”)

  • 在 Jenkinsfile 中,设置安静期。

  • 在 SCM 上配置 web hook。

     pipeline{ agent{label "Linux" } options { quietPeriod(180) // more options } triggers { pollSCM '' } stages{ stage("Test"){ steps{ echo "Test" } } } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM