jenkins - PR 合并意味着什么?

标签 jenkins pull-request bitbucket-server

在 Jenkins 中,如果我将分支说明符提到为

  • 1 个来源/pr/${pullRequestId}/from
  • 2 origin/pr/${pullRequestId}/merge

这是否意味着在第一种情况下,构建将根据拉取请求中的任何代码创建。在第二种情况下,PR 中的更改将作为补丁应用到本地 Jenkins 工作区中的目标分支,并且构建将在同一分支上触发。

最佳答案

您能否确认您正在使用 Atlassian Stash 来管理您的 Git 存储库?

当您创建 PR 时,Stash 会尝试“惰性”合并(在/merge refs ID 中)。如果目标分支正在移动,Stash 将尝试新的合并。

关于这个惰性合并的一些解释 here .

如果您使用 Stash Hook 触发 Jenkins 构建,Stash 会将所有 PR 信息发送到 Jenkins(pullRequestId、来自 SHA1、合并 SHA1,...)。

因此,在 Jenkins 作业中,您可以尝试合并(origin/pr/${pullRequestId}/from 到 origin/master,如果 master 是您的目标分支),并且可以构建合并结果。

这就是我们在我的公司中使用这些设置和 Stash pullrequest builder plugin 所做的事情:

enter image description here

运行良好:)

每次开发人员更新 PR 时,都会触发新的 PR 构建,并且 Jenkins 会尝试进行新的合并。

PR 验证后,如果开发人员单击“合并”按钮,它将尝试合并目标分支上的代码。

您可以在此 properties file 中设置一些合并选项.

关于jenkins - PR 合并意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34786949/

相关文章:

Jenkins:在测试历史中添加日期时间列

jenkins - 没有与此分配匹配的代理/云 - jenkins 错误

git - 如何从 pull 请求中排除文件?

git - 如何将不活跃的 GitHub PR merge 到我自己的 fork 中?

python - Stash 标签上的 DELETE 请求

git - 如何在 SourceTree 中连接到我自己的 Git 服务器?

jenkins - 比较两个不同工作的 Jenkins 配置

powershell - 通过本地系统帐户使用 powershell 提升凭据

github - GitHub 中协作者和贡献者的拉取请求有什么区别?

用于连接到 Stash 存储库的 Java 客户端