Jenkins与Github Organization集成:在打开的pull请求中,只为pull请求运行构建而不是分支

时间:2018-01-31 16:16:48

标签: jenkins github jenkins-pipeline

我目前正在使用Jenns CI和Github webhooks。我为我的Github组织设置了一个视图。 Jenkins能够扫描我的组织以获取分支和拉取请求,并使用Jenkinsfiles在pull请求上运行构建。这个当前的发现功能还可以。但是,当在repo上打开新的pull请求时,将为分支和pull请求运行构建。这些也在不同的工作空间中完成。所以在github中,我看到了continuous-integration/jenkins/branchcontinuous-integration/jenkins/pr-merge的构建。我只想运行pr-merge的构建而不是分支。我似乎无法在Jenkins中找到任何配置选项来调整它。

我似乎正在寻找this sectionGithub Branch Source Plugin中指定的选项。我已经确认已安装该插件,但我无法在GUI中找到修改这些设置的方法,也无法$JENKINS_HOME

任何有关如何做到这一点的帮助将非常感激。对于我们而言,将所有分支的构建日志用于拉取请求确实没有任何好处,因为它们稍后被丢弃。

3 个答案:

答案 0 :(得分:1)

您可以更改 Discover分支策略,以排除也作为请求提交的分支:

enter image description here

答案 1 :(得分:0)

发现分支机构 Exclude branches that are also filed as PRs

请参阅 Github Branch Source 插件页面的文档页面上的控制构建内容部分。 https://go.cloudbees.com/docs/cloudbees-documentation/cje-user-guide/index.html#github-branch-source

还建议如果您为状态检查配置了GitHub存储库,则禁用生成的分支状态,以便PR仅依赖于PR状态。请参阅GitHub doc:https://help.github.com/articles/enabling-required-status-checks/

答案 2 :(得分:0)

如果将Filter by name (with regular expression)添加为Behavioursdevelop|PR-.*,它将停止触发与模式不匹配的分支的管道。 screenshot