PROJECT / 工程实践
GitLab CI/CD 平台与 Runner 治理
将部署过程收敛为明确契约,同时治理 Runner 与平台请求负载。
项目目标
CI/CD 的难点不仅是把命令跑完,还包括发布步骤是否完整、Runner 是否可复用,以及平台自身是否成为瓶颈。本项目将 deploy 的关键步骤保留在单 Job 契约内,并整理部署 Runner,减少跨环境的重复资源占用。
组件与架构
组件包括 GitLab CE、GitLab Runner 与 BuildKitd。部署契约顺序为 validate、build、publish、deploy、verify、cleanup,覆盖校验、构建、发布与结果确认。图示只描述这条已记录的作业流程,不暗示新增审批引擎、队列或调度服务。
关键流程
作业先校验输入并构建,发布制品后执行部署,随后验证交付结果并清理。Runner 治理将部署执行收敛到统一资源,利用跨环境无状态复用释放重复主机;平台侧同时观察热门请求量与 P95 延迟,评估治理效果。
工程取舍
单 Job 将部署步骤放在明确的执行边界内,便于识别失败落在哪个环节;相应地,不能把“作业结束”直接当作“服务可用”。展示保留 verify 的独立职责,但不增加现有资料未说明的失败重试或自动回滚机制。
成果与证据口径
2026-09-09 素材收录单仓 409 行、17 个 job 的流水线;既有主页记录 Runner 并发为 5,复用释放 2 台 BCC,平台 P95 从 1.82s 降至 469.50ms。这些属于历史治理样本,未提供统一的持续观测窗口,因此不作为当前平台 SLA 或所有作业的延迟保证。