Jenkins和Github从特定分支触发PUSH

时间:2020-02-19 11:13:37

标签: git jenkins github

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

enter image description here

enter image description here

enter image description here

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

我通过阅读有关Stackoverflow的一些相关问题来进行这项工作,但所有这些问题都已经过时并且没有明确的解决方案了:

GitHub WebHooks triggered globally instead of per branch

Trigger Jenkins job on GitHub PUSH to specific branch

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

2 个答案:

答案 0 :(得分:1)

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

如何使用GitHub Branch Source Plugin? 使用此插件,将在github中为相应的存储库自动创建Hooks。每个分支将在jenkins中创建一份工作,只要您在Repo中具有Jenkinsfile,该工作也会自动创建。有了这个,您的期望状态应该很容易实现。

答案 1 :(得分:1)

最后,我使用 Multibranch Pipeline

  • 在分支源中:

    1. 添加凭据和存储库URL。
    2. 在“行为”中添加:发现 分支机构:所有分支机构。
    3. 按名称过滤(带有正则表达式):例如, ^ master | dev | release。 $ *
  • 在“构建配置”中,将路径添加到Jenkinsfile。

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