【问题标题】:Jenkins integrating with Github Organization: on opened pull requests, only run build for pull request NOT for branchesJenkins 与 Github 组织集成:在打开的拉取请求上,只为拉取请求运行构建而不是分支
【发布时间】:2018-07-10 19:56:48
【问题描述】:

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

似乎我正在寻找this section 中的Github Branch Source Plugin 中指定的选项。我已确认插件已安装,但我无法在任何地方修改这些设置,无论是在 GUI 中,还是在$JENKINS_HOME

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

【问题讨论】:

  • 那么你找到什么干净的解决方案了吗?

标签: jenkins github jenkins-pipeline


【解决方案1】:

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

【讨论】:

  • 完美运行!我想在主分支上继续构建,谢谢分享
【解决方案2】:

您可以更改 发现分支 策略以排除也作为拉取请求提交的分支:

【讨论】:

  • 该选项当前已被选中,但当在 Github 上打开新的拉取请求时,仍会为 branchpull request 构建。
  • 因为推送到分支直接触发分支索引,然后触发构建? (PR 会在一分钟后提交?)
  • 那么除了 PR 之外,还可以更改哪些内容来阻止构建发生在分支上?如果推送到分支触发了分支索引,我认为您上面提到的选项不会进行任何分支构建,但不幸的是事实并非如此。
【解决方案3】:

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

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

如果您将 GitHub 存储库配置为进行状态检查,还建议您禁用生成的“分支状态”,以便您的 PR 仅取决于 PR 状态。参见 GitHub 文档:https://help.github.com/articles/enabling-required-status-checks/

【讨论】:

    【解决方案4】:

    如果有人看到这篇文章,这是我的解决方案。我使用 Github App 为我处理触发器,描述为 herehere。除了运行分支构建之外,Jenkins 还创建了一个新的专用分支来构建 PR(命名为 PR-45)。我真的不需要那个。因此,以下是将分支构建链接到您的 PR 并完全删除 PR 构建的步骤:

    1. 从 Pull Request 事件中取消订阅您的应用程序(但不要删除读取 PR 的权限,仅取消订阅 Pull Request 事件):https://github.com/organizations/myorg/settings/apps/myjenkins-reader-app/permissions
    2. 将 Github 存储库中的分支保护规则更改为只需要检查分支构建,而不是 PR 构建
    3. 在您的 Multibranch Jenkins 管道中,配置 Github 源以发现所有分支并排除以 PR- 开头的分支

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      相关资源
      最近更新 更多