• 【CI/CD】详解自动化开发之CI/CD(持续集成、持续交付、持续部署)


    1、持续集成CI

    CI(Continuous Integration):指持续集成,它属于开发人员的自动化流程。

    在持续集成环境中,开发人员将会频繁的提交代码到主干(重复上述集成的工作)。开发人员提交了新代码之后,立刻自动地进行构建,执行单元测试,因为这些新提交在最终合并到主线之前,都需要通过编译和自动化测试流进行验证。这样做是基于之前持续集成过程中很重视自动化测试验证结果,以保障所有的提交在合并主线之后的质量问题,对可能出现的一些问题进行预警。因此通过持续集成,开发人员只需要提交代码,就可以得到这次集成的结果,根据结果,可以确定新代码和原有代码能否正确地集成在一起。

    持续集成是一种软件开发实践,团队开发成员经常提交代码到代码仓库,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成,且每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误,从而使问题尽早解决。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。虽然持续集成无法消除bug,但却能大大降低修复bug的难度和时间。

    2、持续交付CD

    CD(Continuous Delivery):指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。

    持续交付是持续集成的延伸,将代码自动部署到预生产环境,确保以可持续的方式快速向客户发布新的更改。持续交付指的是应用发布出去的过程,这个过程可以确保尽可能快的实现交付。这就意味着除了自动化测试,还需要有自动化的发布流,以及通过一个按键就可以随时随地实现应用的部署上线。

    通过持续交付,其软件交付流程进一步自动化,以便随时轻松地部署到生成环境中。CD 集中依赖于部署流水线,团队通过流水线自动化测试和部署过程。通过持续交付,可以决定每天,每周,每两周发布一次,这完全可以根据自己的业务进行设置。

    3、持续部署CD

    持续部署扩展了持续交付,以便软件构建,在通过所有测试时自动部署。

    将在各个环境经过测试的应用自动化部署到生产环境,其实各个环境的发布过程都是一样的,应用发布到生产环境后,需要对应用进行健康检查、应用日志管理等。在这样的流程中,不需要人为决定何时及如何投入生产环境。CI/CD 系统的最后一步将在构建后的组件/包退出流水线时自动部署,此类自动部署可以配置为快速向客户分发组件、功能模块或修复补丁,并准确说明当前提供的内容。

    4、CI/CD的开发流程

    开发流程:编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署

  • 相关阅读:
    【DL】linux服务器上安装Anaconda3
    HiAI Foundation助力端侧音视频AI能力,高性能低功耗释放云侧成本
    【MM小贴士】母子工单物料主数据设置及工单核算
    edu cf #137 Div.2(A~D)
    RISC-V Linux内核编译报错extension zicsr required
    vue3+antd中使用Dayjs实现输出的日期格式化,和限制自定义日期选择器的可选范围
    JavaScript基础07——变量拓展-数组
    (七)CSharp-刘铁锰版-事件
    强 蛰伏20多年,终于登顶成为第一名
    python项目如何打包成exe、踩坑总结!
  • 原文地址:https://blog.csdn.net/kevinjin2011/article/details/125603446