我们的开发/发布周期是这样的:
- 开发者创建一个特性分支,实现一个特性
- 开发人员表示功能已准备好进行验收测试 (UAT)
- 测试人员部署功能分支并接受(或拒绝)功能
接受的功能然后由测试人员合并到主分支中,因此将在下一个发布周期中发布(我们每周部署主干/主代码)。
我们对合并冲突感到沮丧,因为当测试人员对功能进行 UAT 并发现它不会干净地合并时,在其中工作的开发人员通常会转向其他事情。
我们正在考虑一种解决方案,TeamCity 会自动将每个功能分支与当前主分支合并,并且任何导致合并冲突的构建都被视为失败的构建 - 这将使我们尽早了解有问题的合并,以便我们可以修复他们早点。
TeamCity 似乎没有对此工作流程的内置支持(即,当分支 X 发生推送时,结帐 master,将分支 X 合并到它上面,构建,单元测试,创建包)。有没有人使用 TeamCity 和 Github 创建了类似的工作流程——也许是使用自定义 msbuild 目标?
编辑:我应该澄清一下我们正在使用 Github,但我们目前没有使用拉取请求 - 听起来这是我应该调查的事情。:)