超越持续集成与持续交付 董越DevOps咨询师 董越 DevOps咨询师 《研发运营一体化(DevOps)能力成熟度模型》核心专家,曾任阿里巴巴集团研发效能事业部架构师。当前主要从事企业级DevOps体系建设的咨询工作。《软件交付通识》作者、《DevOps实践指南(第二版)》译者。 持续集成 持续 均匀频繁 集成 汇聚测试 “(它是)一种软件开发实践,即团队的成员经常集成他们的工作,通常每个成员每天至少集成一次——这导致每天发生多次集成。每次集成都通过自动化的构建(包括测试)来验证,从而尽快地检测出集成错误。”--MartinFowler GOPS全球运维大会2024·深圳站 持续集成可能遇到这些问题 场景3 场景1 未完成的特性A导致已完成的特性B无法发布 场景2 未完成的特性A干扰了已完成的特性B的测试 有问题的特性A难以摘除 GOPS全球运维大会2024·深圳站 持续交付 “持续交付是一种软件开发实践,令软件可随时发布上线……为此需要持续地集成软件开发成果,构建可执行程序,并运行自动测试以发现问题,进而把可执行程序逐步推送到越来越像生产环境的各个测试环境中(并测试),以保证它最终可以在生产环境中运行。”--MartinFowler 持续集成的延伸 各类测试直到发布 适度频繁 测试发布 GOPS全球运维大会2024·深圳站 版本晋级机制 版本1版本2版本3版本4 版本5 GOPS全球运维大会2024·深圳站 持续交付可能遇到这些问题 场景1 特性A已通过测试,而特性B还需要较长的时间。 场景2 特性A、B都已通过测试,但从业务角度还不能发 布特性B。 GOPS全球运维大会2024·深圳站 三个思路 GOPS全球运维大会2024·深圳站 特性间解耦 特性间隔离特性摘除 特性间随时重组 逐特性集成逐特性交付混合自测混合测试 THANKS 感谢聆听