11

我在 Jenkins 中使用 Multibranch Pipeline 作业建立了一个 GitHub 存储库,到目前为止,我一直满足于要求continuous-integration/jenkins/branch状态检查,正如 Jenkins 在从 repo 构建本地分支时发布的那样。但是,我现在收到了来自外部分支的拉取请求,詹金斯已经为此发布了continuous-integration/jenkins/pr-merge状态检查。并且因为continuous-integration/jenkins/branch需要进行状态检查,所以阻止了 PR 被合并。

对于一个结合了本地分支(来自其主要维护者)和分支(来自偶尔的外部贡献者)的项目,这里的预期方法是什么?我必须放弃在 GitHub 端进行任何一项状态检查吗?或者有没有其他方法可以让 Jenkins 发布一个稳定的状态检查上下文,而不管 PR 的来源是什么?

4

1 回答 1

3

我遇到了同样的问题,感谢一位乐于助人的同事,我发现默认情况下,分支源插件构建的分支不一定与任何拉取请求相关联。

(与链接中的“构建原始分支”复选框相关: https ://go.cloudbees.com/docs/cloudbees-documentation/cje-user-guide/index.html#_controlling_what_is_built )

这就是创建“持续集成/詹金斯/分支”状态检查的原因。

我取消勾选该选项并勾选“构建原始 PR(与基本分支合并”选项,并且两个状态检查现在具有相同的上下文“连续集成/詹金斯/公关合并”并且来自分叉和分支的 PR 现在触发相同状态检查。

在我的设置中,复选框位于组织配置中(因为我也在使用 GitHub 组织插件),在项目 > GitHub 组织 > 高级下,希望在您的多分支管道配置中显示相同的选项。

希望这可以帮助

于 2017-10-24T14:39:08.667 回答