您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2024 第22届 GOPS 全球运维大会暨 XOps 技术创新峰会 · 深圳站]:董越-超越持续集成与持续交付 - 发现报告

董越-超越持续集成与持续交付

AI智能总结
查看更多
董越-超越持续集成与持续交付

超越持续集成与持续交付 董越DevOps咨询师 董越 DevOps咨询师 《研发运营一体化(DevOps)能力成熟度模型》核心专家,曾任阿里巴巴集团研发效能事业部架构师。当前主要从事企业级DevOps体系建设的咨询工作。《软件交付通识》等畅销技术书作者。 01持 续 集 成 及 其 不 足 之 处 02特 性 间 解 耦 03持 续 交 付 及 其 不 足 之 处 04特 性 间 进 一 步 解 耦 04小 结 PART 01 持续集成及其不足之处 持续集成 “(它是)一种软件开发实践,即团队的成员经常集成他们的工作,通常每个成员每天至少集成一次——这导致每天发生多次集成。每次集成都通过自动化的构建(包括测试)来验证,从而尽快地检测出集成错误。”--Martin Fowler 持续集成的价值1:小批量,减少等待 持续集成的价值2:问题早发现、早修复、代价小 在较小的范围内查找有问题的源代码的位置 开发人员还记着当时的开发上下文 还没有基于有问题的代码进行新的修改 从项目管理的角度也期望早发现问题 持续集成的价值3:频繁同步,减少冲突 持续集成可能遇到这些问题 场景2 PART 02 特性间解耦 持续集成vs逐特性集成 如何实现特性隔离? 混合自测:当个人开发环境无法充分自测时 PART 03 持续交付及其不足之处 持续交付 “持续交付是一种软件开发实践,令软件可随时发布上线……为此需要持续地集成软件开发成果,构建可执行程序,并运行自动测试以发现问题,进而把可执行程序逐步推送到越来越像生产环境的各个测试环境中(并测试),以保证它最终可以在生产环境中运行。”--Martin Fowler 持续交付的价值 小批量、减少等待 问题早发现、早修复、代价小 持续交付让发布更可靠 版本晋级机制 持续交付可能遇到这些问题 场景1 特性A已通过测试,而特性B还需要较长的时间。 场景2 特性A、B都已通过测试,但从业务角度还不能发布特性B。 PART 04 特性间进一步解耦 特性摘除 用进行反向改动的方法摘除特性 用重建集成发布分支的方法摘除特性 混合测试 以特性来运作安排 逐特性交付 成本视角 三个思路 高效运维社区DevOps时代 荣誉出品 感谢聆听