什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

人生难得几回搏,此时不搏待何时。这篇文章主要讲述什么是CI/CD?不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#相关的知识,希望能为你提供帮助。
CI/CD核心理论概念@[TOC]
1.集成的概念 1.1.什么是集成
【什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)】在实际的软件开发中,常常会有如下两种场景:

  • 1.现在有一个电商平台开发,由于平台需要开发的某块较多,此时需要不同的开发人员开发不同的模块,最后将所有人开发好的代码集成到一个系统中,集成完毕后需要对其进行部署上线
  • 2.随着时间的推移,该系统无论是bug修复、还是新功能开发,后续都需要对系统进行不断的更新迭代
1.2.项目软件开发过程
什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

文章图片

2.持续集成的概念 2.1.什么是持续集成
持续集成指的是频繁地,一天多次将代码集成到主干
什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

文章图片

2.2.使用持续集成带来的好处
  • 1.快速发现错误,每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易
  • 2.节省人力成本
  • 3.加快软件开发进度
  • 4.实时交付
2.3.持续集成的目的
让产品可以快速迭代,同时还能保持高质量
它的核心措施是,代码集成到主干之前,先进行自动化测试,只要有一个测试用例失败,就不能集成,当然持续集成并不能完全的消除bug,而是让他们非常容易发现和改正
2.4.什么情况下使用持续集成
如果项目开发的规模比较小,软件集成不是问题,但是如果项目很大,需要不断添加新功能,或不断的升级产品。则需要进行反复集成,这个时候就需要用到持续集成来简化我们的工作
3.持续交付的概念 3.1.什么是持续交付
持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境,也就是在开发写好代码之后部署到生产环境中的过程
持续交付:代码开发--单元测试--合并代码--测试--手动--部署到生产
首先将代码编码提交到gitlab仓库,再由jenkins拉取代码,jenkins拉取代码的方式分为手动、自动、定时,常用的为手动,拉到本地后,jenkins再去调用插件去构建、测试,最后将结果返回给开发人员,测试会进行两轮测试,第一轮是测试代码的质量,第二轮测试会进行代码的功能测试最后部署到正式环境
什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

文章图片

4.持续部署持续部署时持续交付的下一步,指代码在任何时刻都是可部署的,最后将部署到生产环境的过程自动化。
持续部署和持续交付的区别就是最终部署到生产环境是自动化的,持续部署指的是将程序部署到正式环境。
持续部署:代码开发---单元测试---合并代码---测试---自动---部署到生产
开发写好代码上传到gitlab,jenkins从gitlab上拉取代码,然后通过各种插件对代码进行测试,对代码进行质量检测,没问题之后部署到正式环境
什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

文章图片

5.持续集成实施流程根据持续集成的设计,代码从提交到生产,整个过程有以下几步
首先提交代码到gitlab,jenkins获取代码然后通过各种插件对代码进行测试,测试完成后就将源码编译成war包,在通过黑盒测试将所有功能进行检测,各项功能都完成后进行部署,部署成功后,如果需要回退就进行回退。
什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

文章图片

常见的持续集成实施流程
第一种适用于正式环境,先将代码进行测试然后统计开发,并打标签,然后拉取标签进行编译然后部署
第二种适用于测试环境,直接拉取标签测试编译部署
什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)

文章图片


    推荐阅读