# 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 | |------|:--:|:--:|:--:|:--:| | 代码获取 | ● | ● | ● | ● | | 编译构建 | ● | ● | ● | ● | | 单元测试 | ○ | ● | ● | ● | | 代码质量扫描 | ○ | ● | ● | ● | | 代码安全扫描 | ○ | ● | ● | ● | | 制品上传 | ○ | ○ | ● | ● | | 自动化测试 | ○ | ○ | ● | ● | | 自动部署 | ○ | ○ | ○ | ● | (● 必选 ○ 可选)