人生难得几回搏,此时不搏待何时。这篇文章主要讲述什么是CI/CD?不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#相关的知识,希望能为你提供帮助。
CI/CD核心理论概念@[TOC]
1.集成的概念
1.1.什么是集成
【什么是CI/CD(不明白?一文教会你企业级CI/CD核心理论概念 #yyds干货盘点#)】在实际的软件开发中,常常会有如下两种场景:
- 1.现在有一个电商平台开发,由于平台需要开发的某块较多,此时需要不同的开发人员开发不同的模块,最后将所有人开发好的代码集成到一个系统中,集成完毕后需要对其进行部署上线
- 2.随着时间的推移,该系统无论是bug修复、还是新功能开发,后续都需要对系统进行不断的更新迭代
文章图片
2.持续集成的概念 2.1.什么是持续集成
持续集成指的是频繁地,一天多次将代码集成到主干
文章图片
2.2.使用持续集成带来的好处
- 1.快速发现错误,每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易
- 2.节省人力成本
- 3.加快软件开发进度
- 4.实时交付
让产品可以快速迭代,同时还能保持高质量
它的核心措施是,代码集成到主干之前,先进行自动化测试,只要有一个测试用例失败,就不能集成,当然持续集成并不能完全的消除bug,而是让他们非常容易发现和改正
2.4.什么情况下使用持续集成
如果项目开发的规模比较小,软件集成不是问题,但是如果项目很大,需要不断添加新功能,或不断的升级产品。则需要进行反复集成,这个时候就需要用到持续集成来简化我们的工作
3.持续交付的概念 3.1.什么是持续交付
持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境,也就是在开发写好代码之后部署到生产环境中的过程
持续交付:代码开发--单元测试--合并代码--测试--手动--部署到生产
首先将代码编码提交到gitlab仓库,再由jenkins拉取代码,jenkins拉取代码的方式分为手动、自动、定时,常用的为手动,拉到本地后,jenkins再去调用插件去构建、测试,最后将结果返回给开发人员,测试会进行两轮测试,第一轮是测试代码的质量,第二轮测试会进行代码的功能测试最后部署到正式环境
文章图片
4.持续部署持续部署时持续交付的下一步,指代码在任何时刻都是可部署的,最后将部署到生产环境的过程自动化。
持续部署和持续交付的区别就是最终部署到生产环境是自动化的,持续部署指的是将程序部署到正式环境。
持续部署:代码开发---单元测试---合并代码---测试---自动---部署到生产
开发写好代码上传到gitlab,jenkins从gitlab上拉取代码,然后通过各种插件对代码进行测试,对代码进行质量检测,没问题之后部署到正式环境
文章图片
5.持续集成实施流程根据持续集成的设计,代码从提交到生产,整个过程有以下几步
首先提交代码到gitlab,jenkins获取代码然后通过各种插件对代码进行测试,测试完成后就将源码编译成war包,在通过黑盒测试将所有功能进行检测,各项功能都完成后进行部署,部署成功后,如果需要回退就进行回退。
文章图片
常见的持续集成实施流程
第一种适用于正式环境,先将代码进行测试然后统计开发,并打标签,然后拉取标签进行编译然后部署
第二种适用于测试环境,直接拉取标签测试编译部署
文章图片
推荐阅读
- #yyds干货盘点# 基于STM32+ESP8266+华为云IoT设计的智能门锁
- #yyds干货盘点# 系统学习 TypeScript——基础类型
- #yyds干货盘点#一个简单的websocket示例
- #yyds干货盘点#ABAP新语法
- Flutter 专题75 图解基本 TabBar 标签导航栏#yyds干货盘点#
- #yyds干货盘点# SAP 移动开发技术综述
- RT-Thread快速入门-初探RT-Thread
- Windows8系统桌面图标无法拖动怎样办
- Win8系统在英国的占有率已超过xp系统