什么是 CI/CD-Java-阿习进阶博客
Java
MySQL
大数据
Python
前端
黑科技
    首页 >> 互联网 >> Java

什么是 CI/CD

[导读]:CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念可以总结为三点:持续集成持续交付持续部署CI/CD 主要针对在集成新代码时所引发的问题(俗称"集成地狱")。为什么会有集成地狱这个“雅称”呢?大家想想我们一个项目部署的过程,拉取代码->构建->测试->打包->...

CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。


CI/CD 的核心概念可以总结为三点:


持续集成

持续交付

持续部署

CI/CD 主要针对在集成新代码时所引发的问题(俗称"集成地狱")。


为什么会有集成地狱这个“雅称”呢?大家想想我们一个项目部署的过程,拉取代码->构建->测试->打包->部署,如果我们经常需要部署项目,特别是在微服务时代,服务特别多的情况下,不停的测试打包部署,那估计得有个人一整天专门做这事了,而这事又是繁琐的重复无意义的。


具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署),这些关联的事务通常被统称为"CI/CD 管道",由开发和运维团队以敏捷方式协同支持。


1.1 CI(Continuous Integration)

CI/CD 中的"CI"始终指持续集成,它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到代码仓库中,该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。


1.2 CD(Continuous Delivery/Continuous Deployment)

CI/CD 中的"CD"指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。


持续交付(Continuous Delivery)通常是指开发人员对应用的更改会自动进行错误测试并上传到代码仓库(如 GitHub、GitLab 等),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。


持续部署(Continuous Deployment)指的是自动将开发人员的更改从代码仓库发布到生产环境,以供客户使用。通过一套全自动化的流程,来解决手动测试、编译、打包等操作。持续部署以持续交付的优势为根基,实现了管道后续阶段的自动化。


本文来自阿习进阶博客,如若转载,请注明出处:http://yanxias.com

留言区

联系人:
手   机:
内   容:
验证码:

历史留言

联系人:阿习

手机号:156****7890

留言内容:欢迎大家一起讨论文章,有喜欢发帖的可以私聊我给你开权限,发文章

留言时间:2022-05-09 17:46:15

回复内容:互联网阿习

回复时间:2022-05-09 17:46:15

用户IP:220.***.***.232

用户操作系统:Windows 10

欢迎加Easy的QQ