CI/CD持续集成概念(一)

简介: 持续集成1.集成的概念1.1.什么是集成在实际的软件开发中,常常会有如下两种场景:1.现在有一个电商平台开发,由于平台需要开发的某块较多,此时需要不同的开发人员开发不同的模块,最后将所有人开发好的代码集成到一个系统中,集成完毕后需要对其进行部署上线2.随着时间的推移,该系统无论是bug修复、还是新功能开发,后续都需要对系统进行不断的更新迭代

持续集成

1.集成的概念

1.1.什么是集成

在实际的软件开发中,常常会有如下两种场景:


1.现在有一个电商平台开发,由于平台需要开发的某块较多,此时需要不同的开发人员开发不同的模块,最后将所有人开发好的代码集成到一个系统中,集成完毕后需要对其进行部署上线

2.随着时间的推移,该系统无论是bug修复、还是新功能开发,后续都需要对系统进行不断的更新迭代

1.2.项目软件开发过程

2.持续集成的概念

2.1.什么是持续集成

持续集成指的是频繁地,一天多次将代码集成到主干

2.2.使用持续集成带来的好处

1.快速发现错误,每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易

2.节省人力成本

3.加快软件开发进度

4.实时交付

2.3.持续集成的目的

让产品可以快速迭代,同时还能保持高质量


它的核心措施是,代码集成到主干之前,先进行自动化测试,只要有一个测试用例失败,就不能集成,当然持续集成并不能完全的消除bug,而是让他们非常容易发现和改正


2.4.什么情况下使用持续集成

如果项目开发的规模比较小,软件集成不是问题,但是如果项目很大,需要不断添加新功能,或不断的升级产品。则需要进行反复集成,这个时候就需要用到持续集成来简化我们的工作

3.持续交付的概念

3.1.什么是持续交付

持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境,也就是在开发写好代码之后部署到生产环境中的过程


持续交付:代码开发–单元测试–合并代码–测试–手动–部署到生产


首先将代码编码提交到gitlab仓库,再由jenkins拉取代码,jenkins拉取代码的方式分为手动、自动、定时,常用的为手动,拉到本地后,jenkins再去调用插件去构建、测试,最后将结果返回给开发人员,测试会进行两轮测试,第一轮是测试代码的质量,第二轮测试会进行代码的功能测试最后部署到正式环境

image.png

4.持续部署

持续部署时持续交付的下一步,指代码在任何时刻都是可部署的,最后将部署到生产环境的过程自动化。


持续部署和持续交付的区别就是最终部署到生产环境是自动化的,持续部署指的是将程序部署到正式环境。


持续部署:代码开发—单元测试—合并代码—测试—自动—部署到生产


开发写好代码上传到gitlab,jenkins从gitlab上拉取代码,然后通过各种插件对代码进行测试,对代码进行质量检测,没问题之后部署到正式环境


image.png

5.持续集成实施流程

根据持续集成的设计,代码从提交到生产,整个过程有以下几步


首先提交代码到gitlab,jenkins获取代码然后通过各种插件对代码进行测试,测试完成后就将源码编译成war包,在通过黑盒测试将所有功能进行检测,各项功能都完成后进行部署,部署成功后,如果需要回退就进行回退。

image.png

常见的持续集成实施流程

第一种适用于正式环境,先将代码进行测试然后统计开发,并打标签,然后拉取标签进行编译然后部署

第二种适用于测试环境,直接拉取标签测试编译部署


image.png

目录
相关文章
|
28天前
|
JavaScript 前端开发 持续交付
Prettier 高级应用:集成 CI/CD 流水线与插件开发
【10月更文挑战第18天】Prettier 是一款流行的代码格式化工具,它能够自动将代码格式化成一致的风格,从而提高代码的可读性和维护性。对于希望进一步发挥 Prettier 潜力的高级用户而言,将 Prettier 集成到持续集成(CI)和持续部署(CD)流程中,确保每次提交的代码都符合团队标准,是非常重要的。此外,通过开发自定义插件来支持更多语言或扩展 Prettier 的功能也是值得探索的方向。本文将详细介绍这两方面的内容。
43 2
|
11天前
|
存储 监控 Devops
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
|
18天前
|
jenkins Java 持续交付
软件开发自动化程度的不断提高,持续集成(CI)和持续部署(CD)成为现代软件开发的重要组成部分
随着软件开发自动化程度的不断提高,持续集成(CI)和持续部署(CD)成为现代软件开发的重要组成部分。本文以电商公司为例,介绍如何使用 Jenkins 自动发布 Java 代码,包括安装配置、构建脚本编写及自动化部署等步骤,帮助团队实现高效稳定的软件交付。
29 3
|
1月前
|
缓存 监控 测试技术
掌握容器化持续集成/持续部署(CI/CD)的最佳实践
【10月更文挑战第8天】本文介绍了容器化持续集成/持续部署(CI/CD)的最佳实践,涵盖容器化CI/CD的概念、优势和实施步骤。通过使用容器技术,可以实现环境一致性、快速迭代和易于扩展,提高软件开发的效率和可靠性。文章还详细讨论了编写高效的Dockerfile、自动化测试、安全性、监控和日志管理等方面的最佳实践。
|
24天前
|
运维 安全 Devops
DevOps实践:持续集成与持续部署(CI/CD)的自动化之路
【10月更文挑战第22天】在软件交付的快速迭代中,DevOps文化和实践成为企业加速产品上市、保证质量和提升客户满意度的关键。本文将通过一个实际案例,深入探讨如何利用持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)实现软件开发流程的高效自动化,包括工具选择、流程设计以及问题解决策略。我们将一起探索代码从编写到部署的全自动化旅程,揭示其对企业运维效率和产品质量所带来的深远影响。
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
69 0
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
149 0
|
4月前
|
监控 druid Java
spring boot 集成配置阿里 Druid监控配置
spring boot 集成配置阿里 Druid监控配置
292 6
|
4月前
|
Java 关系型数据库 MySQL
如何实现Springboot+camunda+mysql的集成
【7月更文挑战第2天】集成Spring Boot、Camunda和MySQL的简要步骤: 1. 初始化Spring Boot项目,添加Camunda和MySQL驱动依赖。 2. 配置`application.properties`,包括数据库URL、用户名和密码。 3. 设置Camunda引擎属性,指定数据源。 4. 引入流程定义文件(如`.bpmn`)。 5. 创建服务处理流程操作,创建控制器接收请求。 6. Camunda自动在数据库创建表结构。 7. 启动应用,测试流程启动,如通过服务和控制器开始流程实例。 示例代码包括服务类启动流程实例及控制器接口。实际集成需按业务需求调整。
374 4
|
4月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
325 1

热门文章

最新文章