遗留系统现代化实战
姚琪琳
Thoughtworks 资深咨询师
5615 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 30 讲
用户故事 (1讲)
遗留系统现代化实战
15
15
1.0x
00:00/00:00
登录|注册

16|DevOps现代化: 从持续构建到持续集成

你好,我是姚琪琳。
前面我们用八节课的篇幅,一起学习了代码现代化和架构现代化的众多模式。掌握了这些遗留系统代码和架构的治理方法,应对遗留系统的挑战你是不是也更有信心了?
不过只治理代码和架构还不够,我们希望修改后的代码可以“火速”部署到生产环境里,这样才能提高整个端到端的交付效率,让每次改动工作都能及时得到反馈,尽快验证效果。

遗留系统的构建方式

遗憾的是,遗留系统的特点之一就是 DevOps 相当落后,甚至可以说完全没有。
在遗留系统中,一次上线前构建过程可能是这样的:一位打包专员,在本地或远程的机器上拉取代码,完成集成、打包和测试的工作,并准备手动部署。这时,即使再紧急的代码提交都会被拒绝,因为一个干净的打包环境来之不易,新引入的代码会导致所有的流程重来一遍,对打包专员来说是相当痛苦的。
这样的过程死板、低效、容易出错,一点也体现不出软件中“软”的特点(即灵活)。所以,后来市面上出现了越来越多的自动构建工具,可以自动拉取代码、构建、集成、打包和部署,甚至还能运行自动化测试,这简直就是打包专员们的福音。
但是,如果只是在打包和部署时使用这些工具,那真是大材小用了。而且,这样也没有解决软件开发中最难解决的问题之一,就是多人协作的情况下,代码集成的问题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了在遗留系统中引入DevOps实践的重要性和方法。作者首先强调了持续构建和持续集成在现代化软件开发中的重要性,以及在遗留系统中引入这些概念的方法和技巧。文章提到了小步提交的重要性,强调每个commit都应完成一个端到端的功能点,以实现持续提交和持续构建。此外,文章还介绍了质量门禁的概念,包括单元测试和代码扫描等有效的质量检查手段。在持续集成方面,文章提到了分级构建和制品晋级的重要性,以及如何在遗留系统中逐步搭建基础设施,从持续构建开始,慢慢实现持续集成的初级阶段。最后,文章鼓励读者分享自己项目的DevOps实践,并分析其所属阶段。整体而言,本文为读者提供了深入的DevOps实践指南,帮助他们理解和应用现代化软件开发中的关键概念和技术。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《遗留系统现代化实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 子夜枯灯
    老师,小步提交对于开发人员拆解需求的能力要求很高。如何才能确保自己拆解完成后,组合的效果还是业务的原始需要呢?

    作者回复: 需要刻意练习,可以拆分完成后找leader或senior的开发人员核对一下,或者找BA核对一下,不断练习,感觉就出来了

    2022-05-18
    2
  • 雨落~紫竹
    第一 在自己的分支开发 打包构建也是自己分支 第二 要保证每个人从合并分支拉的是可运行的代码 第三 合代码需要review

    作者回复: 最重要的是要将自己的代码每天合并到公共开发分支(主干),因为代码的集成不光是你集成别人的代码,也包括别人集成你的代码。

    2022-07-04
    2
    1
  • Lee
    持续交付那本书有这个制品库的讲法,这样相当于开发权利最大,开发每次交付的都是在开发环境验证ok的,然后在其余环境进行部署即可,如果部署存在问题,那就可能是基础设施不一致导致,可以达到一个制品部署各个环境

    编辑回复: 感谢你的分享

    2022-08-03
  • 随风飞
    谁还轮询代码变动,不都是有代码push的webhock通知
    2022-07-02
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部