发布分支策略

时间:2016-01-26 01:12:08

标签: git tfs version-control release release-management

我们的应用程序是一种基于规则引擎的应用程序,它使用Drools。它具有核心框架逻辑,客户特定的业务逻辑将作为规则部署。

特定版本将包含多个功能。例如, Feature_Branch_Toyota_1.0 Feature_Branch_Honda_1.0 等将在同一版本 Rel_1.0 中进行QA测试。最后一分钟,由于时间限制或更改的复杂性,Business没有时间对 Feature_Branch_Honda_1.0 更改进行UAT(用户验收测试)。

现在,商家希望将 Feature_Branch_Honda_1.0 更改推迟到下个月发布,但 Feature_Branch_Toyota_1.0 更改应按照 Rel_1.0 < /强>

如果我们从 Rel_1.0 中移除 Feature_Branch_Honda_1.0 更改,那么QA会要求进行回归测试,这将影响实际发布计划。有没有办法避免这种情况?或者是否有任何模式使每个功能作为同一版本分支中的隔离组件,以便如果任何功能被推迟到下一个版本,它将不会影响当前版本中的其他功能。

建议/建议将不胜感激。

1 个答案:

答案 0 :(得分:2)

似乎QA完全有权要求进行回归测试。

原文:本田1.0 +丰田1.0 ==&gt; Rel 1.0 现在:丰田1.0 ==&gt; Rel 1.0

质量保证现在需要确保丰田1.0没有任何无意中依赖于本田1.0的东西,似乎可能会出现一些比预期更紧密的耦合导致某些相互依赖性。所以肯定需要进行某种测试。然后在本田1.0发布后,丰田1.1发布,他们也需要在那里进行回归测试。

管理类似这样的事情变成了一场噩梦,因为基本上你需要一个支持应用程序中所有模块组合的矩阵,每个模块都需要一定程度的回归/ QA测试。它曾经是熊,在那里失败了。

从版本控制的角度来看,我建议为每个模块分离存储库,以便每个模块都可以分支/标记/等。在任何其他模块的独立点。然后是你的兼容性矩阵,将它们整合在一起。