美文网首页
0001.CI/CD

0001.CI/CD

作者: 笑着字太黑 | 来源:发表于2022-04-13 09:52 被阅读0次
一、CI/CD 的概述

CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。
CI/CD 的核心概念是持续集成、持续交付和持续部署。它是作为一个面向开发和运营团队的解决方案,主要针对在集成新代码时所引发的问题(也称为:“集成地狱”)。
CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。
这些关联的事务通常被统称为 CI/CD 管道,由开发和运维团队以敏捷方式协同支持。

二、CI 持续集成(Continuous Integration)

协同开发是目前主流的开发方式,也就是多位开发人员可以同时处理同一个应用的不同模块或者功能。
但是,如果企业计划在同一天,将所有开发分支代码集成在一起,最终可能会花费很多时间和进行很多重复劳动,费事费力。因为代码冲突是难以避免的。
如果开发人员本地的环境和线上不一致的话,那么这个问题就更加复杂了。
持续集成(CI)可以帮助开发者更加方便地将代码更改合并到主分支。
一旦开发人员将改动的代码合并到主分支,系统就会通过自动构建应用,并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。
如果自动化测试发现新代码和现有代码之间存在冲突,CI 可以更加轻松地快速修复这些错误。

三、CD 持续交付(Continuous Delivery)

CI 在完成了构建、单元测试和集成测试这些自动化流程后,持续交付可以自动把已验证的代码发布到企业自己的存储库。
持续交付旨在建立一个可随时将开发环境的功能部署到生产环境的代码库。
在持续交付过程中,每个步骤都涉及到了测试自动化和代码发布自动化。
在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中。

四、CD 持续部署(Continuous Deployment)

对于一个完整、成熟的 CI/CD 管道来说,最后的阶段是持续部署。
它是作为持续交付的延伸,持续部署可以自动将应用发布到生产环境。
实际上,持续部署意味着开发人员对应用的改动,在编写完成后的几分钟内就能及时生效(前提是它通过了自动化测试)。这更加便于运营团队持续接收和整合用户反馈。
总而言之,所有这些 CI/CD 的关联步骤,都极大地降低了应用的部署风险。
不过,由于还需要编写自动化测试以适应 CI/CD 管道中的各种测试和发布阶段,因此前期工作量还是很大的。

五、CI 和 CD 有什么区别?

CI/CD 中的“CI”始终指持续集成,它属于开发人员的自动化流程。
成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。
该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。
CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。
持续交付(第一种CD)通常是指开发人员对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),然后由运维团队将其部署到实时生产环境中。
这旨在解决开发和运维团队之间可见性及沟通较差的问题。
因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。
持续部署(另一种“CD”)指的是自动将开发人员的更改从存储库发布到生产环境,以供客户使用。
它主要为了解决因手动流程降低应用交付速度,从而使运维团队超负荷的问题。持续部署以持续交付的优势为根基,实现了管道后续阶段的自动化。

相关文章

  • 0001.CI/CD

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

  • CI/CD/CD

    CI 持续集成CONTINUOUS INTEGRATION持续集成的环境中,开发人员会频繁提交代码到主干。持续集成...

  • linux中"cd /" ,"cd ~","cd /home",

    一、cd / 是跳转到根目录 根目录是所有用户共享的目录,如图所示 二、cd ~ 是跳转到当前用户的家目录 如果是...

  • cd

    cd ~/Documents 进入用户下的文档然后,要进入文档下的hdu文件夹,只需cd hdu 而不是cd /hdu

  • Cd

    今天五一,从朋友圈知道今天阴天。补课晚点,家教的小孩去亲戚家里吃饭,约好下午1点,1点06还在路上走着,生怕迟到了...

  • cd

    cd .. 回到上一层cd ~ 回到主目录

  • CD

    望着CD后的一道道光圈 他露出彩色的牙齿 世界搅和进数字漩涡 他的灵魂 也被镀上一层荒诞的色彩 2013.7月初 ...

  • CD

    【原文于2011-05-07 13:35:55发布于网易博客http://davidou11.blog.163.c...

  • cd

    建立CD环境 1.确认cmdb_server容器有ssh服务,没有则yum install openssh-ser...

  • CD

    CD持续部署 发布流程 1、jenkins安装好 Publish Over SSH 插件 2、jenkins服务器...

网友评论

      本文标题:0001.CI/CD

      本文链接:https://www.haomeiwen.com/subject/uqnosrtx.html