持续集成与持续部署

持续集成与持续部署

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阶段组成

相关推荐
huameinan狮子21 小时前
微服务化的基石——持续集成
大数据·ci/cd·微服务
一次旅行21 小时前
act本地预跑GitHub Actions:Python项目完整CI/CD流水线实战
python·ci/cd·github
heimeiyingwang2 天前
【架构实战】Helm Chart 进阶:依赖管理、测试与 CI/CD 集成
ci/cd·架构
龙智DevSecOps解决方案2 天前
Perforce Delphix测试数据管理平台:每月实现数百万次 CI/CD 运行,更快交付高质量软件
ci/cd·devops·tdm·perforce·delphix·企业级数据管理
AOwhisky3 天前
云原生 DevOps 工具链从入门到实战(第二期)——Jenkins安装与基础配置——CICD核心引擎
linux·运维·ci/cd·云原生·jenkins·devops
析数塔4 天前
SleeperGem 技术拆解:恶意 gem 是怎么躲过 CI/CD 扫描的
安全·ci/cd·github
happy_0x3f5 天前
Claude Code 离线安装方案揭秘
ci/cd
AOwhisky6 天前
云原生 DevOps 工具链从入门到实战(第一期)——DevOps概述与GitLab部署——从理念到工具落地
运维·ci/cd·云原生·gitlab·开发·devops
2301_773643626 天前
1.SDLC 与模型(简述)
ci/cd
lbb 小魔仙7 天前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd