一个团队在频繁发布软件时遇到了困难(每周一次)。下面是一个典型的发布时间表:
在迭代过程中:
每个星期一:
每个星期二:
这在实践中听起来不错,但我们发现要做到这一点是非常困难的。小组发现了以下症状
我认为测试覆盖范围、代码质量、快速回归测试的能力、最后一刻的更改和环境差异在这里起着作用。有人能就如何最好地实现“持续”交付提供任何建议吗?
发布于 2011-08-15 13:09:19
不知道用户故事的性质和数量,我不得不说,一个星期的发布周期似乎是极端的。您所描述的上述场景是复杂规划的,涉及到一系列不同的分支、合并点、切换、环境和测试套件,或多或少地创建了一个人工系统,在该系统中,计划复杂性中的单个错误可能导致延迟发布或质量差。这会对后续版本产生多米诺骨牌效应。
时间表太紧了。
您可以通过编写更有效的单元测试和特定于环境的集成测试来提高代码覆盖率。
您可以通过引入对编程和/或代码评审来提高代码质量,尽管这占用了更多宝贵的时间。
更好地估计用户故事点还可以通过隐式限制进入单个版本的用户故事,从而降低风险比率的分母,从而有所帮助。
总的来说,听起来您已经有了良好的实践,并且您有一个很好的系统来处理您的极端发布周期。你似乎走在正确的道路上。
发布于 2012-03-20 16:36:31
为什么不使用实际的连续部署,其中提交(或推送)导致测试运行,如果测试通过,部署就会发生?
然后,如果您不确定某个更改,您可以在一个单独的分支上进行更改,这仍然会导致测试运行,但不会进行部署。
我认为试图让一个坏掉的躯干/主人保持稳定的压力比保持它稳定的压力更大。
https://softwareengineering.stackexchange.com/questions/101156
复制相似问题