许多软件公司吹嘘他们已经将新功能快速增量发布到生产环境中。在我在大型 X 公司的后端项目中,我们有大版本(每季度发布 1 个)。我们使用 Scrum 进行为期 2 周的冲刺和系统集成测试,这是在发布到生产之前在相邻团队和客户之间完成的最后阶段(他们有自己的测试包)。我们的团队仅对我们的后端服务(分别为我们的测试包)使用与夜间回归测试的持续集成。我们还使用 Jira、git、nexus、stash 等现代敏捷工具进行代码审查、spock、junit 和 teamcity。
由于这些团队很忙,我们无法承受团队之间频繁的集成测试。我们由 QA 开发人员编写的回归测试最多需要约 10 小时(针对具有 terabutes 数据的数据库检查了许多功能)。对于拥有数百名消费者和 24/6 全天候工作的业务而言,我们所有的后端服务都至关重要。为了投入生产,我们所有的消费者也必须运行他们的集成测试。这需要大量的协调和时间。我们总是在周末的非工作时间发布。
因此,快速发布非常冒险且耗时。我想听听成功案例以及如何实现快速发布?这真的可行吗?