鉴于TeamCity&我们的Github回购和匹配Github Flow的CI流程。
我希望能够通过首先将master合并到Pull Request的分支来启动我的构建过程。
如果成功,那么它可以继续进行其余的构建步骤。
这可以在TeamCity中配置内置功能吗?或者我是否必须创建构建步骤&编写一个执行此操作的shell脚本并返回成功/失败作为我的第一步?
答案 0 :(得分:5)
如果您打算自动构建所有公关分支,这大部分都是在TeamCity中支持开箱即用。
关键部分是您的VCS根分支规范使用通配符模式+:refs/pull/(*/merge)
"拉" part表示所有打开的pull请求都有资格作为源," merge" part表示每个pull请求在运行构建配置之前与master分支合并 - 这正是我们在这种情况下想要的(另一种选择是" head"以隔离方式构建分支)。
我们已经在我们的环境中成功运行了这个。在您的场景中,您可以根据PR测试构建步骤/配置的成功触发其他构建配置(或自动合并到主服务器)。
我建议安装文章中提到的插件,以自动更新PR中的构建状态 - 很有帮助。
作为后续检查,请查看TeamCity自动合并功能:https://confluence.jetbrains.com/display/TCD9/Automatic+Merge