小学生都能看懂的CICD

小学生都能看懂的CICD,第1张

CI/CD的缩写如下。其中CD由两个概念组成:

  • CI = Continuous Integration 持续集成
  • CD = Continuous Delivery/Deployment 持续交付/持续部署

小学生都能看懂的CICD
  • CI(Continuous Integration)
  • CD(Continuous Delivery)
  • CD(Continuous Deployment)
  • CI/CD总览

假设我们的项目由前端(VueJS)和后端(Python FastAPI)组成。前端工程师和后端工程师都把代码推到Github的Repo里。途中能出错的真的太多了:merge conflict,前后端代码里有bug,前后端装的包(dependencies)有版本冲突等等。特别是当前后端都用JS编程的时候,比如VueJS和NodeJS。

CI(Continuous Integration)

CI(持续集成)是一个为(软件)开发者服务的自动化过程。

成功的 CI 会在将新代码推送到 master 分支之前,自动进行构建(build)、测试(test)和并合(merge)。比如示意图中的例子,前端的VueJS代码用Cypress进行自动测试,然后自动执行build;后端的python代码用pytest进行自动测试,然后build。最后进行Integration Test,以确保之后没有merge conflict等其他问题。这个过程发生在工程师在自己电脑的IDE中(比如你用的vscode和终端)。示意图如下:

CD(Continuous Delivery)

在CI检查过代码的正确性和可运行性之后。持续交付(Continuous Delivery)将代码上传到Github存储库中,为之后将程序部署到实时生产环境(prod env)作准备。示意图如下:

CD(Continuous Deployment)

持续部署指自动将新代码从Github存储库发布到生产环境,供客户使用,比如各种云平台。它解决了交付慢的问题。示意图如下:

CI/CD总览

CI和两个CD是自动化DevOps的过程。简直就是省时省力的神器。对前后端工程师也十分友好,使他们可以专注在软件开发和优化上。总览如下:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/718960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存