Git 如何让TeamCity在每次构建之前将主控合并到Pull请求中?

Git 如何让TeamCity在每次构建之前将主控合并到Pull请求中?,git,continuous-integration,teamcity,Git,Continuous Integration,Teamcity,给定TeamCity&我们的Github回购协议和与Github流匹配的CI流 我希望能够通过首先将master合并到Pull请求的分支来开始构建过程 如果成功了,那么就可以继续进行其余的构建步骤 是否可以在TeamCity中配置内置功能?或者我必须创建一个构建步骤并编写一个shell脚本来执行此操作,并将成功/失败作为我的第一步返回?如果您打算自动构建所有PR分支,则TeamCity中的大部分内容都是现成支持的 这里有一篇关于这方面的详细文章: 关键部分是VCS根分支规范使用通配符模式+:re

给定TeamCity&我们的Github回购协议和与Github流匹配的CI流

我希望能够通过首先将master合并到Pull请求的分支来开始构建过程

如果成功了,那么就可以继续进行其余的构建步骤


是否可以在TeamCity中配置内置功能?或者我必须创建一个构建步骤并编写一个shell脚本来执行此操作,并将成功/失败作为我的第一步返回?

如果您打算自动构建所有PR分支,则TeamCity中的大部分内容都是现成支持的

这里有一篇关于这方面的详细文章:

关键部分是VCS根分支规范使用通配符模式
+:refs/pull/(*/merge)

“pull”部分意味着所有打开的pull请求都可以作为源请求,而“merge”部分意味着每个pull请求在运行build config之前都会与主分支合并,这正是我们在本例中想要的(另一种方法是“head”以隔离地构建分支)

我们已经在我们的环境中成功地运行了它。在您的场景中,您可以根据PR测试构建步骤/配置的成功触发其他构建配置(或自动合并到主版本)

我建议安装文章中提到的插件,以自动更新PRs中的构建状态-非常有用


作为后续检查,请查看TeamCity自动合并功能:

因此,我是否可以相信,无论master是否得到更新,此引用和github都将始终指向pull请求分支上已更新的master合并?如果引用存在合并冲突,我的构建是否会中断(根据需要)?是-TeamCity应在更新master时自动触发对打开的PR分支的重建-此重建将是您的PR更改合并到master中。合并冲突也会被指出——我建议设置build status update插件来自动获取所有这些反馈。