CI/CD 平台选型是什么
CI/CD 平台的选择本质是托管与自建的取舍:托管平台省掉升级、扩缩容与高可用运维,插件生态丰富但执行环境受平台约束;自建平台可部署在内网与专有环境,执行环境能深度定制,但要把容量规划、运行器管理与升级纳入日常。无论哪种,都要评估运行器容量与排队时长、缓存与制品管理、密钥注入方式、审计与权限模型,以及流水线语法带来的迁移成本。
基本信息
| 托管平台 | 供应商负责高可用与升级,按用量计费,网络与合规受云端策略约束 |
|---|---|
| 自建平台 | 可部署在内网,执行环境可定制,需自行维护与容量规划 |
| 运行器 | 并发数、排队时长与镜像拉取速度直接决定开发体验 |
| 密钥管理 | 平台的密钥库与权限模型,是否支持短期凭证与最小权限 |
| 迁移成本 | 流水线编排语法差异大,历史任务迁移工作量常被低估 |
典型使用场景
- 多团队统一流水线:平台提供标准模板,各团队按需扩展
- 内网与专有环境交付:代码与制品不能出内网时采用自建方案
- 移动端与多目标构建:需要特定构建环境与签名证书管理
- 制品管理:构建产物与依赖缓存集中存放,支持可追溯下载
- 灰度与发布编排:平台与部署系统协同完成分批发布与回滚
- 合规审计:谁在什么时候发布过什么版本需要完整记录
托管与自建对比
| 维度 | 托管平台 | 自建平台 |
|---|---|---|
| 运维成本 | 供应商负责升级与扩缩容 | 需自行维护、备份与容量规划 |
| 网络与合规 | 受云端出网与数据策略约束 | 可部署在内网与专有环境 |
| 扩展能力 | 插件生态丰富但执行环境受限 | 执行环境可深度定制,维护成本高 |
| 密钥管理 | 平台内置密钥库与权限模型 | 需自建密钥方案并做租户隔离 |
| 迁移风险 | 深度依赖平台专有语法 | 可从零设计,但需自研周边工具 |
流水线门禁清单
流水线门禁清单
# 1 代码检查:格式、静态分析、依赖与许可证扫描
# 2 构建:可复现构建,产物带版本号与提交哈希
# 3 测试:单测、契约测试与必要的集成测试,失败即阻断
# 4 制品:产物入库并保留,支持按版本回滚
# 5 密钥:通过平台密钥库注入,禁止写进流水线变量明文
# 6 发布:分批放量、可观测校验、回滚触发条件事先写明
# 7 审计:谁在何时发布了哪个版本,记录保留到审计周期之外选型前先量运行器容量:并发不足时排队时长会显著拖慢交付节奏,这一项比界面功能更影响日常体验。
迁移要小范围试点:先挑两三条代表性流水线跑通,再推广,避免一次性迁移中断所有团队的交付。