助力“满天星” ,赋能软信产业发展。2024年10月9日,由重庆市就业服务管理局、南岸区经济和信息化委员会(重庆经开区经济运行局)、南岸区人力资源和社会保障局指导,南岸区就业和人才中心主办,球迷网承办,禅道社区大力支持的项目管理实战访谈节目“践行者”第30期暨“源来好创业"青年创业资源对接服务活动准时上线,获得软信从业者的持续关注。
(扫码观看本期直播回放)
本期节目,邀请到独立DevOps咨询师、《高质效交付》作者董越老师,分享持续集成与持续交付的短板及其应对方法。关于持续集成(CI)的定义持续集成是一种软件开发实践,它要求团队成员频繁地将他们的工作成果合并到共享代码库中,通常每天至少一次。每次提交后,会自动运行一系列测试来验证变更是否破坏了现有功能。这样做的目的是尽早发现并修复问题,减少后期集成时可能遇到的大规模错误修正成本。CI是现代软件开发中非常重要的一个环节,尤其是在采用敏捷方法论的项目里。
持续集成的价值
小批量集成,减少等待时间。
早期发现并修复问题,降低修复成本。
频繁同步工作,减少冲突。
1、持续集成的短板及应对方法
1)持续集成可能遇到的问题
●未完成的特性可能阻碍其他已完成特性的发布。
●未完成的特性可能干扰其他特性的测试。
●有问题的特性难以从集成中移除。
2)如何实现特性隔离?
● 特性分支:为每个特性创建一个单独的分支,避免它们相互干扰;
● 特性开关:使用开关决定一个特性是否显现;
● Keystone Interface:在前端不提供入口,从而隐藏未完成的功能;
● 单一提交:确保每个commit只包含一个特性的代码,简化代码管理和回滚;
● 单一特性:一次只开发一个特性,避免多个特性同时进行导致的混乱。
关于持续交付(CD)的定义持续交付
(CD)是CI/CD的第二步,它是在持续集成的基础上进一步自动化软件交付流程。通过持续交付,开发人员可以将构建产物部署到测试环境进行测试和验证,最终生成可部署的产物。成熟的持续交付方案会展示一个始终可部署的代码库,让软件随时可以轻松地部署到生产环境中。
持续交付的核心机制
版本晋级机制:每个版本需通过一系列自动化测试和验证步骤才能发布,包括构建和测试、环境部署、功能测试和业务验收。
2、持续集成的短板及应对方法
1)持续交付可能遇到的问题
● 测试频率受限:如果自动化测试和人工测试耗时长,也难以像持续集成那样频繁开展;
● 版本晋级受阻:部分特性未通过测试或因业务原因不能发布,会拖累其他特性发布;
● 固定成本高:提高发布频率可能导致总成本上升;
● 多微服务兼容难:不同团队的多微服务版本难以协调。
2)特性间如何进一步解耦?
● 特性摘除:有问题特性可从集成分支摘除,如使用 Git 命令或版本控制界面的回退按钮;
● 混合测试:特性先在混合测试环境测,通过后再合到发布分支,避免特性之间的互相等待;
● 逐特性交付:各特性分支都有专属的测试环境,实现特性单独开发、测试和发布。
球迷网持续开展“项目管理实战访谈直播”,从2023年上线至今,收获软信企业及从业者的广泛好评,直播旨在通过对软件研发、项目管理实践践行者的访谈,帮助企业及从业者了解到项目管理的实践及其实际应用场景;通过践行者本人的心路历程展示更加生动真实的软件开发实践落地过程。关注球迷网公众号&视频号,项目管理实战访谈直播第31期即将上线!未来,球迷网将呈现更多有深度、有内容的在线访谈、实操教学、精品课程等直播栏目,促进区域软件和信息服务业的繁荣发展。