通用CI/CD管道详解
立即解锁
发布时间: 2025-08-24 02:17:24 阅读量: 1 订阅数: 6 

# 通用 CI/CD 管道详解
## 1. 通用 CI/CD 管道概述
通用 CI/CD 管道包含多个阶段,大部分阶段以排他网关结束,该网关用于判断阶段结果是否成功。管道最终要么以成功状态结束,要么以错误/失败状态结束。以下是通用 CI/CD 管道的主要阶段:
- 验证入口标准
- 执行构建
- 执行单元测试
- 代码分析
- 打包工件
- 发布工件
- 配置测试环境
- 将工件部署到测试环境
- 执行测试
- 验证基础设施合规性
- 验证出口标准
- 执行双重控制
- 将工件部署到生产环境
```mermaid
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始管道]):::startend --> B(验证入口标准):::process
B --> C{入口标准正确?}:::decision
C -->|是| D(执行构建):::process
C -->|否| E(错误):::process
D --> F{构建是否成功?}:::decision
F -->|是| G(执行单元测试):::process
F -->|否| E
G --> H{单元测试通过?}:::decision
H -->|是| I(代码分析):::process
H -->|否| E
I --> J{代码分析通过?}:::decision
J -->|是| K(打包工件):::process
J -->|否| E
K --> L(发布工件):::process
L --> M(配置测试环境):::process
M --> N(将工件部署到测试环境):::process
N --> O(执行测试):::process
O --> P{测试通过?}:::decision
P -->|是| Q(验证基础设施合规性):::process
P -->|否| E
Q --> R{基础设施合规?}:::decision
R -->|是| S(验证出口标准):::process
R -->|否| E
S --> T{出口标准正确?}:::decision
T -->|是| U(执行双重控制):::process
T -->|否| E
U --> V{双重控制通过?}:::decision
V -->|是| W(将工件部署到生产环境):::process
V -->|否| E
W --> X([结束管道]):::startend
E --> X
```
## 2. 验证入口标准
为确保管道由有效的触发器使用正确的触发数据和管道配置启动,通用 CI/CD 管道添加了验证入口标准阶段。只有满足特定标准,管道才能继续执行。以下是该阶段验证的典型入口标准:
1. **验证所有必需的管道变量**:若有变量未正确配置,管道将在第一阶段停止,而非在运行结束时。
2. **添加 ping 任务**:确保外部系统可访问。ping 任务可向外部系统发送 HTTP 请求并验证返回的 HTTP 状态。若返回状态码 503,管道将停止,因为无法访问外部系统。
3. **验证分支**:确保用于构建候选版本的分支是预期的分支。例如,若要创建版本,仅允许与主分支关联的 Git
0
0
复制全文
相关推荐









