【发布时间】:2013-06-12 13:43:05
【问题描述】:
我们的开发/发布周期是这样的:
- 开发者创建一个特性分支,实现一个特性
- 开发人员指示功能已准备好进行验收测试 (UAT)
- 测试人员部署功能分支并接受(或拒绝)功能
接受的功能随后由测试人员合并到主分支中,因此将在下一个发布周期中发布(我们每周部署主干/主代码)。
我们对合并冲突感到沮丧,因为当测试人员对功能进行 UAT 并发现它不会干净地合并时,从事该功能的开发人员通常会转向其他事情。
我们正在考虑一种解决方案,通过 TeamCity 自动将每个功能分支与当前主分支合并,并且任何导致合并冲突的构建都被视为失败构建 - 这将使我们能够及早了解有问题的合并,因此我们可以尽快修复它们。
TeamCity 似乎没有对此工作流程的内置支持(即,当分支 X 发生推送时,结帐 master,将分支 X 合并到其上,构建,单元测试,创建包)。有没有人使用 TeamCity 和 Github 创建过类似的工作流程 - 也许使用自定义 msbuild 目标?
编辑:我应该澄清一下,我们正在使用 Github,但我们目前没有使用拉取请求 - 听起来这是我应该调查的事情。 :)
【问题讨论】:
-
很好的问题 Dylan,我希望自己解决同样的问题。当您在最后一句中提到 GitHub 时,您是指 Git 吗?因为 GitHub 已经实现了这个功能。我已经在开源项目中利用了它。
标签: git teamcity branching-and-merging continuous-deployment feature-branch