持续集成与持续部署

持续集成与持续部署

1、介绍

持续集成CI:开发人员频繁的提交代码,并对提交进行自动化的验证

持续部署CD:基于CI,自动化的将代码部署到生产环境

2、持续集成的概念

持续集成的核心思想是:让开发人员频繁地将代码变更合并到共享的主干分支中,并通过自动化流程来快速验证这些变更的正确性。

CI不是一个工具,而是一套流程和实践,这套流程通常由一个CI服务器(如Jenkins、GitLab CI、GitHub Actions)来自动执行。其工作流程可以概括为以下几步:

频繁提交:开发人员每天至少一次,将完成的小功能代码提交到共享的代码仓库(如Git)的主干分支。

自动触发:每次代码提交都会自动触发CI服务器开始工作。

自动构建:CI服务器会拉取最新的代码,并将其编译、打包成可执行的软件(例如,将Java代码编译成Jar包)。

自动化测试:这是CI的灵魂。CI服务器会运行一套预先写好的自动化测试(包括单元测试、集成测试等),来验证新代码没有破坏现有功能。

生成报告:CI服务器会生成一份详细的报告,明确告知开发团队:本次构建成功还是失败。如果失败,具体是哪个测试用例没通过,哪段代码编译出错。

3、持续部署的概念

持续部署的核心流程

开发者提交代码到代码仓库。

持续集成流程自动触发:完成编译、打包和一系列自动化测试。

通过所有测试后,系统会自动、直接地将代码部署到生产环境。

整个过程完全由自动化流程驱动,"发布"这个动作不再是一个需要手动决策和执行的特殊事件,而是开发流程中一个自然而然的环节。

4、CI/CD带来的好处

CI/CD不仅仅是一套工具链,它更是一种能力。 它赋予组织:

快速交付价值的能力

高质量、低风险发布的能力

高效、愉悦的团队协作能力

5、CI/CD阶段组成

相关推荐
蒸鱼Yuzheng2 天前
性能 CI 成本优化:设备分钟、风险分层与自适应测试选择
自动化测试·ci/cd·性能测试·测试平台·成本优化
7177773 天前
2026年CI/CD工具选哪家比较好:主流方案对比与Gitee选型解析
ci/cd·gitee
smartpi_ai4 天前
机芯智能离线语音模块实战问答:SU-03T、CI-03T、SU-63T 与 JX-A7T 高频问题排查
人工智能·单片机·嵌入式硬件·ci/cd·语音识别
Lvan的前端笔记4 天前
GitLab CI 环境变量整理
ci/cd·gitlab
梯度下降者6 天前
二、自动化运维架构师的三大核心能力
ci/cd·架构师·自动化运维·iac·平台工程
长不大的杨瑞杰6 天前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
Madison-No76 天前
Jenkins持续集成
运维·ci/cd·jenkins
kaixin_learn_qt_ing7 天前
CI/CD是什么
ci/cd
smartpi_ai7 天前
离线语音芯片怎么选:SU、CI、JX、JL 系列语音模块选型指南
人工智能·ci/cd·语音识别
极小狐8 天前
跨项目流水线报 404 Not Found?CI_JOB_TOKEN 允许名单 9 步排查
ci/cd·gitlab·devops·权限管理·流水线·极狐gitlab·作业令牌