在每次构建之前,如何让TeamCity将Master合并为Pull Request?

时间:2015-08-18 02:19:03

标签: git continuous-integration teamcity

鉴于TeamCity&我们的Github回购和匹配Github Flow的CI流程。

我希望能够通过首先将master合并到Pull Request的分支来启动我的构建过程。

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

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

1 个答案:

答案 0 :(得分:5)

如果您打算自动构建所有公关分支,这大部分都是在TeamCity中支持开箱即用。

这里有一篇详细的文章:http://blog.jetbrains.com/teamcity/2013/02/automatically-building-pull-requests-from-github-with-teamcity/

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

"拉" part表示所有打开的pull请求都有资格作为源," merge" part表示每个pull请求在运行构建配置之前与master分支合并 - 这正是我们在这种情况下想要的(另一种选择是" head"以隔离方式构建分支)。

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

我建议安装文章中提到的插件,以自动更新PR中的构建状态 - 很有帮助。

作为后续检查,请查看TeamCity自动合并功能:https://confluence.jetbrains.com/display/TCD9/Automatic+Merge