【问题标题】:Jenkins and Github trigger PUSH from specific branchJenkins 和 Github 从特定分支触发 PUSH
【发布时间】:2020-02-20 01:27:43
【问题描述】:

我在 Jenkins 中设置了 Github webhook,并使用以下配置创建了一个作业:

但是,每次我从任何分支推送内容时,作业都会构建一个新版本(使用我指定的分支)。

我通过阅读 Stackoverflow 上的一些相关问题来完成这项工作,但所有这些问题都相当陈旧且没有明确的解决方案:

GitHub WebHooks triggered globally instead of per branch

Trigger Jenkins job on GitHub PUSH to specific branch

是否可以仅从特定分支触发推送?

【问题讨论】:

    标签: git jenkins github


    【解决方案1】:

    您正在使用 GitHub Webhook 来触发预配置的作业。您的 Job 具有硬编码的分支“JENKINS-TEST-AUTODEPLOYMENT”,因此无论您在 GitHub 上推送哪个分支,它都会始终只构建此分支。

    使用GitHub Branch Source Plugin怎么样? 使用此插件,Hooks 将在 github 中为相应的 repos 自动创建。每个分支都会在 jenkins 中找到一份工作,只要你的仓库中有一个 Jenkinsfile,它也会自动创建。有了这个,你想要的状态应该很容易实现。

    【讨论】:

    • 谢谢!我认为这个插件也可以,但最后我使用了 Multibranch Pipeline。
    【解决方案2】:

    最后我使用 Multibranch Pipeline 做到了。

    • 在分支来源中:

      1. 添加凭据和存储库 URL。
      2. 在行为中添加:发现 分支:所有分支。
      3. 按名称过滤(使用正则表达式):例如,^master|dev|release。$*
    • 在 Build Configuration 中添加 Jenkinsfile 的路径。

    因此该作业将扫描与正则表达式匹配的存储库的所有分支。

    【讨论】:

    • 它仍然没有解决你在问题中提到的问题,只是这个配置会触发任何提交到任何分支的构建。
    • 您的自我回答没有意义或无法解决您最初的问题。
    猜你喜欢
    • 2018-11-29
    • 2020-12-07
    • 2019-12-06
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    相关资源
    最近更新 更多