2021-05-05


一、CICD是什么

CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题。

  1. CI 持续集成(Continuous Integration)
    持续集成(CI)可以帮助开发人员更加频繁地(有时甚至每天)将代码更改合并到共享分支或“主干”中。一旦开发人员对应用所做的更改被合并,系统就会通过自动构建应用并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。这意味着测试内容涵盖了从类和函数到构成整个应用的不同模块。如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。

  2. CD 持续交付(Continuous Delivery)
    完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保 CI 已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。
    在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化。在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中。

  3. CD 持续部署(Continuous Deployment)
    对于一个成熟的 CI/CD 管道来说,最后的阶段是持续部署。作为持续交付——自动将生产就绪型构建版本发布到代码存储库——的延伸,持续部署可以自动将应用发布到生产环境。由于在生产之前的管道阶段没有手动门控,因此持续部署在很大程度上都得依赖精心设计的测试自动化

二、CI流程示例

流程如下(示例):

•推送到代码存储库
•静态分析
•部署前测试
•打包和部署到测试环境
•部署后测试

  1. 代码库
    通常,开发修改代码后推送到代码库,检测系统就会上报这一改动
  2. 静态分析
    此处的目标是确保代码没有可能的错误,并符合标准的格式和样式。
  3. 部署前测试
    此过程可以涵盖多方面的测试,也叫单元测试。由开发人员主导编写的小型的专项测试,确保新代码的独立工作,符合规范
  4. 打包和部署到测试环境并测试
    根据项目的类型,将应用程序构建,打包,发送到测试或暂存环境(模拟生产)。这确保了集成的更改与其他部分一起构建良好,并且可以部署为进行功能测试。在此阶段,我们还验证了新更改是否与其他库和部署环境兼容
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值