Update nexus wiki content
This commit is contained in:
83
wiki/concepts/CI-CD Pipeline.md
Normal file
83
wiki/concepts/CI-CD Pipeline.md
Normal file
@@ -0,0 +1,83 @@
|
||||
---
|
||||
title: "CI/CD Pipeline"
|
||||
type: concept
|
||||
tags: [DevOps, Automation, Software Delivery]
|
||||
sources: [engineering-devops-automator]
|
||||
last_updated: 2026-05-01
|
||||
---
|
||||
|
||||
# CI/CD Pipeline
|
||||
|
||||
## 定义
|
||||
CI/CD 流水线是自动化软件交付的端到端管道,包含持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)三个阶段。
|
||||
|
||||
## 三个阶段
|
||||
|
||||
### 持续集成(CI)
|
||||
- 开发者频繁提交代码到共享仓库
|
||||
- 每次提交自动触发构建和测试
|
||||
- 早期发现集成问题
|
||||
|
||||
### 持续交付(CD)
|
||||
- 代码通过所有自动化测试后自动部署到 staging 环境
|
||||
- 人工审批后部署到生产环境
|
||||
- 确保每次变更都可部署
|
||||
|
||||
### 持续部署(Continuous Deployment)
|
||||
- 代码通过所有测试后自动部署到生产环境
|
||||
- 无需人工干预
|
||||
- 需要完善的测试和监控体系支撑
|
||||
|
||||
## 核心组件
|
||||
|
||||
### 构建阶段
|
||||
- 代码编译
|
||||
- 依赖安装
|
||||
- 制品构建(Docker 镜像/二进制文件)
|
||||
|
||||
### 测试阶段
|
||||
- 单元测试
|
||||
- 集成测试
|
||||
- 端到端测试
|
||||
- 安全扫描
|
||||
|
||||
### 部署阶段
|
||||
- 部署到目标环境
|
||||
- 健康检查
|
||||
- 流量切换
|
||||
- 回滚机制
|
||||
|
||||
## DevOps Automator 的标准流水线
|
||||
```yaml
|
||||
security-scan → test → build → deploy
|
||||
```
|
||||
- security-scan:依赖漏洞扫描 + 静态安全分析
|
||||
- test:单元测试 + 集成测试
|
||||
- build:容器构建 + 推送镜像仓库
|
||||
- deploy:零停机部署(蓝绿/金丝雀/滚动)
|
||||
|
||||
## 相关工具
|
||||
- [[GitHub Actions]]:DevOps Automator 默认选择
|
||||
- Jenkins:开源 CI/CD 服务器
|
||||
- GitLab CI:GitLab 内置 CI/CD
|
||||
- ArgoCD:GitOps 持续交付
|
||||
- Spinnaker:多云持续交付平台
|
||||
|
||||
## 相关概念
|
||||
- [[Infrastructure as Code]]:CI/CD 部署目标通常是 IaC 管理的基础设施
|
||||
- [[Zero-Downtime Deployment]]:CI/CD 的部署策略
|
||||
- [[Blue-Green Deployment]]:CI/CD 常用部署策略
|
||||
|
||||
## 关键指标
|
||||
- **部署频率**:每日部署次数
|
||||
- **变更前置时间**:代码提交到生产的时间
|
||||
- **变更失败率**:生产环境回滚或失败的百分比
|
||||
- **MTTR**:平均恢复时间
|
||||
|
||||
## Aliases
|
||||
- CI/CD
|
||||
- CI/CD Pipeline
|
||||
- 持续集成/持续交付
|
||||
- Continuous Integration
|
||||
- Continuous Delivery
|
||||
- Continuous Deployment
|
||||
Reference in New Issue
Block a user