【问题标题】:How to trigger a Jenkins multibranch pipeline when code change is pushed to GitHub将代码更改推送到 GitHub 时如何触发 Jenkins 多分支管道
【发布时间】:2017-06-23 01:57:41
【问题描述】:

我为 GitHub 存储库设置了 Jenkins 工作 (multibranch pipeline)。每当有更改推送到该 Git 存储库时,我想自动触发该作业。如何使用Jenkinsfile 实现这一目标?

我想避免在 Jenkins 作业中进行任何配置更改,例如 Poll SCM 等。对于多分支管道,没有像 Build whenever a change is pushed to GitHub 这样的选项

【问题讨论】:

  • 如果你配置你的mbp应该会发生这种情况。添加您的源 (git) 并填写 repo 端点。确保根级别有一个 Jenkinsfile 并将 build configuration > mode 设置为 by Jenkinsfile。然后确保github trigegrs jenkins(通过项目>设置>服务> Jenkins(github插件))
  • @Rik 不幸的是,这似乎不起作用。我已经涵盖了您提到的所有要点。这在我添加 poll scm 选项时有效,但这是我想要避免的。再补充一个细节 - 我正在使用 Jenkins Enterprise,我们在那里有一个文件夹来创建与我们团队相关的工作。
  • 在我的工作中,我们为 gitlab 配置了这个,并且有效。我假设github是一样的。如果我今天晚些时候有时间我会检查我是否可以让它在 github 上工作,然后发布截图
  • 感谢@Rik 的帮助,非常感谢!
  • 如果我使用Git(不是Github)插件,它可以工作configbranch-index

标签: github jenkins continuous-integration jenkins-pipeline multibranch-pipeline


【解决方案1】:

对于您的作业“响应”来自 GitHub 的事件,请将作业构建触发器设置为“轮询 SCM”,但请指定时间表,如 this Stackoverflow answer 中所述。

对于声明性 Jenkinsfile,这意味着:

pipeline {
  triggers {
    pollSCM('') // Enabling being build on Push
  }
  ...
}

进一步阅读:

【讨论】:

  • lol 以我的经验,这是获取 GitHub 触发的 Jenkins 作业时可能出现的一些问题/解决方案之一。
  • 有机会看看我的最新问题吗?
  • 我确实看过stackoverflow.com/questions/52991939/…,但我不知道。
  • 在您发送的詹金斯文档中:.对于与 GitHub 或 BitBucket 等源集成的管道,可能不需要触发器,因为可能已经存在基于 webhook 的集成。
【解决方案2】:

您可以使用这个描述性的管道脚本在新的更改被推送到 github 时自动构建您的管道

pipeline{
   agent any     
     triggers {
        githubPush()
      }
   ...
 }

您还应该使用相关的秘密令牌启用 github webhook。

【讨论】:

    【解决方案3】:

    到目前为止(据我所知)最简单的选择是远程告诉 Jenkins Git 插件有一个已定义存储库的新提交。但是,这不会触发 Jenkins 立即开始工作。发生的情况是 Git 插件开始(重新)索引特定存储库。如果检测到更改,则启动 Jenkins 作业。

    从您的存储库(GitHub、GitLab 等)中,您应该触发以下 URL:

    http://my-jenkins-host/git/notifyCommit?url=git@gitlab.example.com:group/repository.git&delay=0sec

    url 的值必须与您在 Jenkins 作业(Git 插件)中配置的 SCM URL 匹配!

    知道了:您的 Jenkins 可能部署在根上下文 (/) 下,在这种情况下 URL 将是 http://my-jenkins-host/context-path/git/...

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      相关资源
      最近更新 更多