Files
2026-07-28 22:30:20 +08:00

79 lines
2.9 KiB
Markdown

# 06-制品管理规范
## 1. 制品全生命周期
```
开发构建 → 安全扫描 → 存储管理 → 测试 → 部署
```
### 总体原则
- 源代码及需求来源可追溯
- 制品安全质量可管控
- 存储管理安全可靠
- 制品唯一可信(部署 = 测试通过版本)
- 操作及流转日志可审计
## 2. 开发构建
- **【强制 C1】** 开发构建须连接统一制品库,第三方依赖从统一制品库代理下载
- **【强制 C1】** 构建制品必须上传到统一制品库
- **【强制 C3】** 制品须收集构建信息(构建时间、人员、工具、第三方依赖)
- **【强制 C3】** 制品须通过元数据关联代码仓库、分支、commit id
- **【强制 C4】** 制品须进一步关联对应需求或缺陷
## 3. 安全扫描
- **【强制 C3】** 制品关联源代码质量及安全扫描信息
- **【强制 C4】** 根据扫描结果确定制品能否进入测试
- **【强制 C2】** 制品关联第三方组件安全漏洞扫描
- **【强制 C2】** 存在高中危漏洞且可修复时必须在开发阶段修复
- **【强制 C3】** 制品关联第三方组件许可协议扫描
## 4. 存储管理
### 仓库类型选择
| 场景 | 仓库类型 |
|------|----------|
| 云原生应用 | docker 仓库(镜像)+ helm 仓库(配置) |
| 直接部署安装 | generic 仓库 |
| 项目构建依赖 | 对应类型:maven/npm/go/pypi |
### 仓库命名格式
```
项目名[-子项目名]-生命周期-制品类型-仓库类型
```
示例:`myproject-snapshot-maven-local`
生命周期:snapshot(开发快照)/ release(生产发布)
### 权限与审计
- **【强制 C1】** 设置严格的访问权限(管理员、读写、只读三类)
- **【强制 C2】** 上传/下载/修改/删除必须留痕,日志保存 ≥ 6 个月
## 5. 版本管理
- **【强制 C1】** 制品版本号与源代码版本号保持一致
- **【强制 C1】** 开发测试阶段使用快照版本(SNAPSHOT)
- **【强制 C1】** 快照版本测试完成后发布正式版本做回归测试
- **【强制】** 正式版本号不允许覆盖升级
### 制品晋级
- **【强制 C3】** 测试和安全检查通过后从快照仓库自动晋级到发布仓库
- **【强制 C4】** 晋级到生产仓库前可增加人工审核
### 清理
- **【强制 C1】** 快照仓库最多保留 10 个版本
- 生产发布仓库已部署版本建议永久保存
## 6. 第三方组件管理
- **【强制 C1】** 统一制品库作为第三方组件依赖源
- **【强制 C2】** 通过 SCA 工具对第三方组件进行安全扫描
- **【强制 C4】** 制定第三方组件使用规范:黑名单拦截、基线管控、新增组件审批
## 7. 制品溯源
- **【强制 C3】** 制品元数据包括:构建信息、关联源码、安全扫描结果、测试结果
- **【推荐 C0】** 收集制品软件物料清单(SBOM)
- **【推荐 C0】** 通过 SBOM 快速定位有安全漏洞的组件