詹金斯多分支管道中的 SCM 轮询

SCM Poll in jenkins multibranch pipeline

希望在每个工作日(周一至周五)每 3 小时从凌晨 12 点开始到下午 3 点适应预定的构建。只有在 github 存储库中提交任何内容时才应触发构建。

请提供确切的代码,因为很少有代码适用于多分支,但不适用于上述时间表。

抱歉,预定 "build" 是什么意思?

  1. 您希望 Multi-Branch 在给定时间间隔内检查更多分支吗?

如果是这样你只能通过"Scan Multibranch Pipeline with defaults Triggers"

  1. 你想在分支上有变化时发布一个构建吗?

注意到

中的选项

多分支文件夹 > "Scan Multibranch Pipeline with defaults Now" 并获取所有当前分支 > 状态 > 作业 > 查看 配置

是只读的。

因此,要更改选项,从 https://issues.jenkins-ci.org/browse/JENKINS-33900?focusedCommentId=326181&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-326181 ,我认为你应该使用 Jenkinsfile 来为每个工作做 SCM。

因此,对于您需要为 SCM 轮询配置的所有作业, 在 Git 上为它们每个包含一个 Jenkinsfile(不要忘记安装 pipeline-model-definition 插件及其所有依赖插件):

pipeline {
  triggers {
        pollSCM('H 0-15/3 * * H(1-5)')
           }
    agent any
    stages{
        stage('Build') {
            steps {
            echo 'Building.. or whatever'
            }
        }
    }

}

应该可以,至少对我有用``

希望对您有所帮助