作为一个团队,我们遵循敏捷/scrum 方法论,冲刺周期为 2 周。我们不是每两周部署一次冲刺工作的聚合,而是希望通过一键式解决方案向前推进,该解决方案可以根据用户故事部署更改。
为了讨论,我们有两个分支 Dev 和 QA。一旦一个用户故事被标记为准备好部署,我将它的变更集合并到 QA 分支中,并在构建触发时从该分支生成部署包。
我编写了代码来自动化与 TFS API 集成的合并过程。我在这里遇到的挑战是在存在依赖关系时处理源代码控制的变化。下面的例子。
Changeset UserStory#
100 1 (File1.cs, File2.cs)
101 2 (File2.cs)
102 1 (File2.cs)
在上面的场景中,如果我将 Story1 标记为准备好部署,并且合并程序触发合并,我看到我无法合并,因为变更集 102 在 File2.cs 中有未准备好部署的 story2 的更改。即使story2已经准备好部署了,我也得按顺序合并100、101和102。但是,如果您考虑多次签入,那么编程以重新排序代码以合并我在查看历史时发现的内容会变得更加棘手
任何建议将不胜感激。