浅谈CICD与项目实战
2026/9/4 13:52:46 网站建设 项目流程

文章目录

      • 曾几何时,研发、测试、运维各自为战,如战国之群雄割据,各领风骚,直至CI/CD横空出世,纵横捭阖,四海归一,实现了“车同轨 书同文 行同伦”,将开发环境、测试环境、预发环境、生产环境聚于统一战线,上传下达,流水作业,一荣俱荣、一辱俱辱。
  • 一、什么是CI/CD
    • `1.CI(Continuous Integration,持续集成)`
    • `2.CD(Continuous Delivery,持续交付)`
      • 第一种解释
      • 第二种解释(参考书籍《持续交付2.0——乔梁著》)
    • `3.CD(Continuous Deployment,持续部署)`
    • `4.CICD的几个特点`
  • 二、为什么要用CI/CD
      • `1.CI`
      • `2.CD`
      • `3.四个指标`
        • 1.交付时间:
        • 2.部署频率:
        • 3.平均故障恢复耗时:
        • 4.变更失败率:
  • 三、怎么搭建一套CI/CD
      • `PS:上面讲了这么多理论的东西,让人觉得有点模糊、遥远、不具体。下面是我根据CI/CD的基本理念,搭建的一套环境,里面的项目比较简单,在一些规划上也不太合理,主要的目的是能够对CI/CD有一个比较形象的了解。`
      • 第1集,环境搭建
      • 第2集,LNMP项目准备
      • 第3集,WebHook触发mvn打包
      • 第4集,SonarQube实现CodeReview
      • [第5集,build image](https://blog.csdn.net/anqixiang/article/details/105003598)
      • 第6集,部署到测试环境,Selenium自动测试
      • 第7集,模拟版本更新,在测试环境验证
      • 第8集,部署到生产环境
      • 第9集,流水线部署到测试环境

曾几何时,研发、测试、运维各自为战,如战国之群雄割据,各领风骚,直至CI/CD横空出世,纵横捭阖,四海归一,实现了“车同轨 书同文 行同伦”,将开发环境、测试环境、预发环境、生产环境聚于统一战线,上传下达,流水作业,一荣俱荣、一辱俱辱。

一、什么是CI/CD

参考文章:
6 张图带你搞懂 CI/CD 流水线

1.CI(Continuous Integration,持续集成)


图片来源:https://blog.csdn.net/csdnnews/article/details/104624343

持续集成的重点是将各个开发人员的工作集合到一个代码仓库(如Gitlab)中。通常,每天会进行多次提交,主要目的是早发现,早更正,防患于未然,使团队更加紧密结合,更好地协作。

持续集成的本质是要自动化测试。如果研发部不具备自动化测试的能力,持续集成怎么做都是失败的。

持续集成里最重要的一点就是要推行单元测试、集成测试还有系统测试,单测是保证自己没问题,集成测试是保证跟上下游没问题,系统测试是保证整个系统没问题。

2.CD(Continuous Delivery,持续交付)


图片来源:https://blog.csdn.net/csdnnews/article/details/104624343

第一种解释

持续交付的目的是最小化部署或释放过程中固有的摩擦。频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。

持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续交付里很关键的一点就是我们要解决它的环境一致性、配置一致性。环境一致性可以用Docker解决,Docker 本身就是一种标准化的东西。另外一个问题,配置是不是一致性,是不是动静分离。

持续交付是一种能力。只有具备持续交付的能力,才能够实现持续部署。

第二种解释(参考书籍《持续交付2.0——乔梁著》)

持续交付被描述为“一种能力,即能以一种可持续的方式,将所有类型的变更安全且迅速地交给客户或发布上线。”
目标:高质量、低风险地快速发布软件价值
核心原则

  • 质量内建
  • 小批量开发
  • 尽可能将所有事情自动化,让计算机做重复的事情,而人来解决问题
  • 持续不断且不遗余力

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询