71 lines
2.2 KiB
Markdown
71 lines
2.2 KiB
Markdown
# 07-流水线管理规范
|
||
|
||
## 1. 配置要求
|
||
|
||
### 命名规范
|
||
- 流水线名称:英文小写字母 + 数字 + 中划线 `-`,字母开头
|
||
- 建议格式:`{业务名称}-{模块名称}-{语言}`
|
||
- 示例:`srdcloud-usercenter-java`
|
||
- **【强制】** 禁止使用 `test`、`demo` 等意义不明字样
|
||
|
||
### 步骤命名
|
||
- 可由小写字母、数字、中文组成
|
||
- 根据实际用途命名,禁止无意义名称
|
||
|
||
### 其他
|
||
- **【强制】** 流水线属于单个项目组,不允许跨项目使用
|
||
- **【强制】** 运行环境必须和开发环境保持一致
|
||
|
||
## 2. 触发类型
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| 手动触发 | 开发人员手动触发 |
|
||
| 定时触发 | 按定时规则自动触发 |
|
||
| 事件触发 | 代码库/制品库事件触发(如代码提交、代码合入、代码更新) |
|
||
|
||
## 3. 流水线阶段内容
|
||
|
||
### 持续集成(CI)
|
||
1. **获取代码** — 流水线对代码库具有下载权限
|
||
2. **单元测试** — 人工静态检查 + 动态执行跟踪
|
||
3. **代码检查** — 代码安全扫描(安全漏洞)+ 代码质量扫描(编码违规)
|
||
4. **编译构建** — 源码编译成目标文件并打包
|
||
5. **制品构建** — 制作成最终可运行文件
|
||
6. **上传制品** — 上传到统一制品库
|
||
|
||
### 持续交付
|
||
1. 执行测试用例
|
||
2. 部署测试环境
|
||
3. 测试环境测试
|
||
4. 部署预生产环境
|
||
5. 预生产环境测试
|
||
|
||
### 持续部署
|
||
1. 灰度发布
|
||
2. 卡点检查
|
||
|
||
## 4. 按流水线类型推荐内容
|
||
|
||
| 流水线类型 | 触发事件 | 推荐内容 |
|
||
|------------|----------|----------|
|
||
| VerifyCI | 代码提交评审 | 构建 + 单元测试 + 质量扫描 |
|
||
| MergeCI | 代码合入 | 构建 + 制品上传 |
|
||
| ReleaseCI | release 分支代码更新 | 安全漏洞扫描 |
|
||
| 测试任务 | 代码更新 | 自动测试任务 |
|
||
|
||
## 5. 分级要求(按能力等级)
|
||
|
||
| 内容 | C1 | C2 | C3 | C4 |
|
||
|------|:--:|:--:|:--:|:--:|
|
||
| 代码获取 | ● | ● | ● | ● |
|
||
| 编译构建 | ● | ● | ● | ● |
|
||
| 单元测试 | ○ | ● | ● | ● |
|
||
| 代码质量扫描 | ○ | ● | ● | ● |
|
||
| 代码安全扫描 | ○ | ● | ● | ● |
|
||
| 制品上传 | ○ | ○ | ● | ● |
|
||
| 自动化测试 | ○ | ○ | ● | ● |
|
||
| 自动部署 | ○ | ○ | ○ | ● |
|
||
|
||
(● 必选 ○ 可选)
|