跳到主要内容

CI/CD 知识体系概览

知识地图

核心概念

概念说明
持续集成(CI)开发者频繁合并代码,每次合并自动触发构建和测试
持续交付(CD)CI 通过后自动部署到预发布环境,生产部署需手动审批
持续部署CI 通过后自动部署到生产环境,无需人工干预
Pipeline由多个 Stage 组成的自动化流水线
Stage流水线中的一个阶段(如 build / test / deploy)
JobStage 中的一个具体任务
Artifact构建产物(如 Docker 镜像、JAR 包)

典型 CI/CD 流程

CI/CD 工具对比

特性JenkinsGitHub ActionsGitLab CI/CD
类型自托管云托管 / 自托管 Runner云托管 / 自托管 Runner
配置Jenkinsfile(Groovy)YAML Workflow.gitlab-ci.yml
生态插件最丰富(1800+)Marketplace Actions内置功能完善
托管成本需自己维护免费额度 + 付费免费额度 + 付费
容器支持需配置原生 Docker原生 Docker
并行能力需配置 Agent矩阵构建parallel 关键字
适用场景复杂企业级GitHub 项目GitLab 项目

部署策略

策略原理回滚速度资源开销适用场景
滚动更新逐步替换旧版本 Pod中等通用场景
蓝绿部署两套环境,流量一次性切换极快(切回蓝)高(双倍资源)对中断敏感
金丝雀发布先导流小部分流量到新版本快(关闭金丝雀)需要灰度验证
A/B 测试按用户特征分流不同版本中等中等需要对比数据

学习路径

  1. 入门:理解 CI/CD 概念,用 GitHub Actions 搭建第一条流水线
  2. 进阶:流水线优化(缓存、并行、矩阵构建),部署策略
  3. 实践:Jenkins 搭建、GitLab CI Runner 配置、Helm + ArgoCD 部署
  4. 高级:多环境管理、安全扫描集成、流水线即代码

相关链接