news 2026/4/22 6:07:13

CICD基础概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CICD基础概述

什么是DevOps

一个软件的生命周期包括:需求分析阶、设计、开发、测试、上线、维护、升级、废弃。

项目的开发模型:瀑布模型、增量模型、敏捷模型

通过示例说明如下:

1、产品人员进行需求分析

2、设计人员进行软件架构设计和模块设计。

3、每个模块的开发人员并行开发,设计接口、进行编码,并进行单元测试

在开发阶段,开发人员统一连接公司局域网的服务器(maven私服、数据库、Git仓库、项目管理软件)进行开发。

4、开发完毕,将代码集成部署到测试服务器,测试人员进行测试。

5、测试人员发现bug,提交bug、开发人员修改bug

6、bug修改完毕再次集成、测试。

7、所有模块测试完成将项目部署到类生产环境,开始测试,测试完毕,将项目部署到生产环境,项目上线。

8、运维人员进行安装部署、培训。

9、用户提出问题,返回给运维人员。

10、运维人员反馈给项目经理,由项目经理分配给产品经理和开发人员,进行问题处理。

11、再次提交测试。

12、测试完毕,发布小版本,部署升级。

....

最后软件下线。

所以,在整体生命周期中比较核心的两个阶段是:开发阶段、维护阶段,开发阶段的成果是软件开发完成并成功上线,运维阶段则负责对软件进行维护和升级,而运维阶段通常在一个软件 的生命周期中占比最多。

提高开发阶段、运维阶段的工作效率是企业在进行软件项目管理的重点。

因此,专家提出了DevOps,DevOps是什么呢?

下边是摘自百度百科的定义:

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。

DevOps是一个工具吗?

DevOps是一个工作职位吗?

都不是。

DevOps是一种思想理念,它涵盖开发、测试、运维的整个过程。DevOps追求的目标是提高软件开发、测试、运维、运营等各部门的沟通与协作质量,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作,强调通过自动化的方法去管理软件变更、软件集成,使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件。

什么是CI/CD

如何来落地实现DevOps呢?

DevOps兴起于2009年,近年来由于云计算、互联网的发展,促进了DevOps的基础设施及工具链的发展,涌现了一大批优秀的工具,这些工具包括开发、测试、运维的各各领域,例如:GitHub、Docker、Jenkins、Hudson、K8S、Ant/Maven/Gradle、Selenium、QUnit、JMeter等。下图是DevOps相关的工具集:

好的工具有利于DevOps的实施,但并不代表实施DevOps就一定需要去引入一堆工具。

问题的关键:如何解决问题,而不是具体应用工具。

CI/CD 是近年来企业有效实施DevOps的具体方案。

CI/CD 包含了一个 CI 和两个 CD,CI全称 Continuous Integration,表示持续集成,CD包含 Continuous Delivery和 Continuous Deployment,分别是持续交付和持续部署,三者具有前后依赖关系。

CI 持续集成:

持续集成倡导团队成员需要频繁的集成他们的工作,将开发分支合并到主分支,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误,让产品可以快速迭代,同时还能保持高质量。

CD持续交付:

持续交付将集成后的代码部署到类生产环境(预发布),除了交付到类生产环境之外,还会执行一些集成测试、API测试。持续交付强调的是“交付”,交付给测试、产品验收,不管怎么更新,软件是随时随地可以交付的。

CD持续部署:

在持续交付的基础上由开发人员或运维人员自助式的定期向生产环境部署稳定的构建版本,持续部署的目标是代码在任何时刻都是可部署的,并可自动进入到生产环境。

完整的CI/CD方案:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 6:07:05

你还在用ThreadPoolExecutor扛秒杀?Java 25虚拟线程已成高并发新基线——2024 Q3头部厂生产集群采纳率飙升至68%

第一章:Java 25虚拟线程的演进逻辑与高并发范式跃迁Java 25正式将虚拟线程(Virtual Threads)从预览特性转为标准特性,标志着JVM并发模型从“操作系统线程绑定”迈向“用户态轻量调度”的根本性跃迁。这一转变并非单纯性能优化&…

作者头像 李华
网站建设 2026/4/22 6:06:01

RWKV-7 (1.5B World)轻量化优势解析:1.5B参数实现多语言理解的底层逻辑

RWKV-7 (1.5B World)轻量化优势解析:1.5B参数实现多语言理解的底层逻辑 1. 为什么1.5B参数模型也能如此强大? 在AI领域,模型参数规模往往与性能直接挂钩,但RWKV-7 1.5B World却打破了这个常规认知。这个仅有1.5B参数的轻量级模型…

作者头像 李华
网站建设 2026/4/22 5:58:16

2026工程基建与零基础跑通篇:YOLO26断点续训全攻略:服务器意外宕机后如何无损恢复训练状态?

写在前面:当你看着终端发呆的那一刻 你是否经历过这样的场景:深夜11点,训练已经跑了157个epoch,loss曲线正稳步下降,你泡好咖啡准备再盯一会儿——突然,屏幕一闪,服务器连接中断。你疯狂地ping IP、查看云端控制台,最后确认:GPU服务器宕机了。看着终端最后一行日志,…

作者头像 李华
网站建设 2026/4/22 5:49:20

AD7656与DSP通信的那些坑:一个波形图引发的调试血泪史

AD7656与DSP通信调试实战:从波形异常到系统稳定的完整解决方案 在高速数据采集系统设计中,AD7656作为一款16位、6通道同步采样ADC,因其优异的性能和灵活的接口选项,被广泛应用于电力监测、工业自动化等领域。然而,当这…

作者头像 李华