有没有办法将成功构建的功能分支推送到另一个分支?
我想要这样的东西:
Git 存储库(Gitorious/GitHub 等等)。分支机构:
- master(当前项目的代码)
- 质量保证(代码等待 QA 的分支)
- 功能分支(许多远程分支,开发人员可以在其中开发他们的功能)
开发人员应该只有对 master 的读取权限和对他的功能分支的读/写 QA 读/写质量保证分支 TeamCity - 读/写 master,质量保证,只读到功能分支
现在我想要一个这样的工作流程:
- 开发人员从 master 分支中提取代码。
- 开发人员创建功能分支 A。
- 开发人员将更改推送到远程功能分支A
- TeamCity 监控功能分支
- TeamCity 在每次提交时触发构建和测试。
- 如果构建成功,TeamCity 会将更改推送到质量保证分支
- QA 团队检查代码(可能会运行一些其他测试、完整性测试)
- 如果 QA 确定一切正常,他们会将更改推送到 master 分支。
我不知道 QA 的那一步是否必要,也许成功构建和测试后的每个功能分支都应该与 master 合并。
首先我想知道:这有意义吗?我刚从 CI 开始,我不知道它是否有效。
其次,如果这个工作流程是正确的,我想知道如何配置 TeamCity 来做类似的事情,如果会出现某种冲突或哪里可能出错怎么办。
最近我观看了有关 Git+Jenkins+Gerrit 的演示文稿,在那里我看到了类似的东西,但对于 .NET 开发,我个人更喜欢 TeamCity,但如果使用 Jenkins 更容易做到这一点,我会改变主意。