谈到到DevOps,持续交付流水线是绕不开的一个话题,相对于其他实践,通过流水线来实现快速高质量的交付价值是相对能快速见效的,特别对于开发测试人员,能够获得实实在在的收益。
本期EasyOps产品使用最佳实践,我们将为您揭晓:
什么是持续集成?
优维EasyDevOps最佳实践
持 续 集 成(CI)
持续集成(CI)是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程.。持续集成是一种软件开发实践,它强调将代码的集成过程自动化,以及频繁地将新代码合并到主干分支。这种方式有别于传统的瀑布模型,其中开发人员在项目末期才开始集成代码,导致集成过程繁琐、冲突复杂、风险高。通过持续集成,开发者可以将代码频繁地合并到主干分支,确保团队的代码始终保持可集成状态。
对项目而言,持续集成(CI)的目标是确保开发人员新提交的变更是好的,不会发生break build; 并且最终的主干分支一直处于可发布的状态;
对于开发人员而言,要求他们必须频繁地向主干提交代码,相应也可以即时得到问题的反馈。实时获取到相关错误的信息,以便快速地定位与解决问题;
对于测试人员而言,及时进行测试(单元测试以及冒烟测试),快速发现问题并提醒开发团队。
EasyDevOps基于平台强大的CI/CD和平台能力,深化DevOps开发运维一体化的应用,帮助企业落地从开发到测试、再到运维自动化、场景化。
代码仓库: Easyops平台不管理客户的源代码,而是通过不同的provider去连接源,拉取代码,支持多种代码源: gitlab、github、Azure,保留了用户代码的归属和管理权.
代码项目: 通过用户提供的认证信息读取代码仓库,获取项目信息,并按项目管理
流水线: 流水线是一种自动化的工作流程,用于定义代码从提交到部署的一系列阶段和步骤。流水线可以自动触发,确保代码在不同的环境中经过测试和部署,从而加速交付流程并确保质量。
工作流:工作流是一组按照特定规则和顺序安排的任务。在CI/CD中,工作流表示代码经过的自动化流程,包括构建、测试、部署等环节。
构建任务:流水线的运行实例,可以查看流水线种每个步骤的运行情况。
阶段:流水线可以分成多个阶段,每个阶段包含一组相关的工作。例如,构建、测试、部署等都可以作为一个阶段。
步骤:每个阶段可以分成多个步骤,每个步骤代表流水线中的一个具体操作,如运行测试、执行部署脚本等。
插件:插件是一种可扩展的组件,用于在流水线中执行特定的任务。插件可以是构建工具、测试框架、部署脚本等。CI/CD平台通常提供丰富的插件来支持各种操作。
制品:制品是在流水线中生成的中间或最终产物,可以是构建好的应用程序、容器镜像、测试报告等。这些制品在流水线的不同阶段之间传递,确保一致性和可复用性。
构建机: 平台使用docker为底层,配置简单,无需安装其他软件,避免因环境导致的各种问题。
Easyops建议的5条持续集成最佳实践,我们会在后续的文章中具体说明如何在平台中实践:
1.尽早和频繁的集成
尽早和频繁地集成意味着开发人员经常将代码变更提交到共享仓库。理想情况下每天多次,这种做法有助于防止集成冲突,能够快速发现和解决问题,确保代码库保持最新和可发布状态。
2.始终保持构建状态良好
保持构建状态良好意味着确保代码库始终处于稳定且可发布的状态。为实现这一目标,开发人员应立即修复任何破损的构建或失败的测试。绿色构建表示代码库健康,并且对软件质量有保障。
3.编写单元测试作为用户故事的一部分
将测试作为用户故事的一部分意味着开发人员在开发新功能或修复错误时编写和维护自动化测试。这种做法确保测试覆盖最新的代码变更,并随着代码库的演进保持相关性。通过将测试纳入开发流程,团队可以验证其代码是否满足要求,提高代码质量,确保新的更改不会引入回归问题。
4.使用代码覆盖率查找未经测试的代码
代码覆盖率是一种度量指标,衡量自动化测试执行的代码百分比。通过监控代码覆盖率,团队可以识别代码库中未经测试或测试不足的区域,从而可以有针对性地进行额外的测试。以代码覆盖率为指南,团队可以优先考虑其测试工作,提高整体测试套件的质量,确保测试全面验证软件。
5.每次代码变更都进行安全问题和漏洞扫描
扫描安全问题和漏洞涉及将安全检查纳入CI流程,以识别代码库中的潜在弱点和风险。通过每次代码变更都进行安全扫描,团队可以在开发过程的早期阶段捕获漏洞,使解决它们变得更加轻松和经济。这种做法有助于在团队内部形成注重安全的文化,并确保安全在整个开发生命周期中被视为优先事项。
客 户 案 例
在某传统车企引入优维Easyops持续集成后:
应用部署耗费的时间从8小时缩短到38秒,
更新时长从20分钟缩短至6秒,
安装效率提升99.9%,
更新效率提升99.5%,
为企业每年省下1500人天。
某传统物流行业采用优维CMDB+持续交付后:
效率最高提升224倍,效率的提升是显而易见的。
优维Easyops持续集成不仅仅是一项技术上的改进,更是一种提升整个企业创新和交付能力的战略性举措。通过自动化、持续集成的流程,传统企业能够更好地应对市场挑战,提高运营效率,保持竞争优势。这种效率的提升也为企业的数字化转型和未来发展打下了坚实的基础。