Files
nexus/wiki/concepts/CI-CD Pipeline.md
2026-05-03 05:42:12 +08:00

2.2 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
CI/CD Pipeline concept
DevOps
Automation
Software Delivery
engineering-devops-automator
2026-05-01

CI/CD Pipeline

定义

CI/CD 流水线是自动化软件交付的端到端管道包含持续集成Continuous Integration、持续交付Continuous Delivery和持续部署Continuous Deployment三个阶段。

三个阶段

持续集成CI

  • 开发者频繁提交代码到共享仓库
  • 每次提交自动触发构建和测试
  • 早期发现集成问题

持续交付CD

  • 代码通过所有自动化测试后自动部署到 staging 环境
  • 人工审批后部署到生产环境
  • 确保每次变更都可部署

持续部署Continuous Deployment

  • 代码通过所有测试后自动部署到生产环境
  • 无需人工干预
  • 需要完善的测试和监控体系支撑

核心组件

构建阶段

  • 代码编译
  • 依赖安装
  • 制品构建Docker 镜像/二进制文件)

测试阶段

  • 单元测试
  • 集成测试
  • 端到端测试
  • 安全扫描

部署阶段

  • 部署到目标环境
  • 健康检查
  • 流量切换
  • 回滚机制

DevOps Automator 的标准流水线

security-scan → test → build → deploy
  • security-scan依赖漏洞扫描 + 静态安全分析
  • test单元测试 + 集成测试
  • build容器构建 + 推送镜像仓库
  • deploy零停机部署蓝绿/金丝雀/滚动)

相关工具

  • GitHub ActionsDevOps Automator 默认选择
  • Jenkins开源 CI/CD 服务器
  • GitLab CIGitLab 内置 CI/CD
  • ArgoCDGitOps 持续交付
  • Spinnaker多云持续交付平台

相关概念

关键指标

  • 部署频率:每日部署次数
  • 变更前置时间:代码提交到生产的时间
  • 变更失败率:生产环境回滚或失败的百分比
  • MTTR:平均恢复时间

Aliases

  • CI/CD
  • CI/CD Pipeline
  • 持续集成/持续交付
  • Continuous Integration
  • Continuous Delivery
  • Continuous Deployment