我们要用变化莫测的方法。我们计划中缺少的一个部分是如何管理构建到TestBox (和LiveBox)的分支/合并,以便将孤立的特性与StableRelease混合并构建到TestBox中。
例如,似乎最主要的用法是
FeatureA和FeatureB的发展将同时进行。它的主要用途似乎是拥有具有上述分支的克隆存储库。
场景1:如果我们构建要测试,我们将合并LiveCode+FeatureA+FeatureB。如果一切顺利,那么我们可以将变更集合并到上游到DefaultStable分支,然后用FeatureA和FeatureB构建到LiveBox。工作完成了。
场景2:如果我们构建到测试,我们将合并LiveCode+FeatureA+FeatureB,QA显示FeatureB存在问题。我们不想再构建FeatureB了。我们确实想要推进FeatureA。我们想用FeatureA自己重新测试,让QA通过。然后将其发布到Live,从而实现业务敏捷性。
问题:如果FeatureB在QA中失败,我们需要从测试分支中取出FeatureB变更集节点,再次构建到TesBox,然后希望然后向上游合并到DefaultStable分支到LiveBox。
从FeatureB中删除TestBranch更改集节点的最佳方法是什么,因为1.我们需要更多FeatureB上的开发,而FeatureB节点集没有完成。2.我们需要分离DefaultStable+FeatureABranch并构建它来测试
其他人是怎么处理这件事的?
发布于 2011-03-14 14:15:37
有许多很好的处理变化多端的工作流,包括:
所有这些都非常少地使用命名枝 --绝对不是每个特性中的一个,以克隆作为分支听起来像是您(和我)喜欢的工作模式。
针对您的具体问题,如果组合LiveCode+FeatureA+FeatureB测试失败,处理它的最好方法就是继续修复FeatureB,然后将这些更改合并到FeatureA + Feature B中。然而,在您进入这个阶段之前,让QA分别访问LiveCode+FeatureA和LiveCode+FeatureB也是一个好主意,这对他们来说稍微多了一些工作(更多的测试目标),但是隔离每个特性有助于更快地找到缺陷的原因。
一旦LiveCode+FeatureA和LiveCode+FeatureB通过了QA,那么就将它们合并到LiveCode+FeatureA+FeatureB中,如果还能通过测试,则将整个过程合并到DefaultStable中。不应该需要从一个FeatureB中删除LiveCode+FeatureA+FeatureB,因为您总是可以创建LiveCode的一个新的克隆,如果您想要的话,可以只在FeatureA中合并。
下面是一个基于汞(窑)的QA/发布过程的伟大的编写:
http://blog.bitquabit.com/2011/03/10/when-things-go-well/
发布于 2011-03-14 13:05:40
在稳定的特性克隆分支中创建FeatureA和FeatureB。测试仅仅是QA/Test工作的一个临时区域,所以从第一天开始,我就把它当作“丢弃”。
当FeatureA和FeatureB得到足够的开发时,创建其中一个的克隆,并将另一个克隆到QA/Test中。为QA进行构建,当他们提供反馈时,对FeatureB进行适当的更改。
如果FeatureA是可接受的升级,把它拉到/推到稳定,并合并为稳定。
这比我原来的帖子更清楚吗?
https://stackoverflow.com/questions/5298796
复制相似问题