一个基于Runbook的版本发布系统设计思路

目前市面上的Devops系统例如Jenkins、云效这类,通常都是通过Pipeline流水线来实现某项任务,但是对于业务系统的某次版本发布来说,通常涉及多种类型的任务/同一类型的多次任务,例如配置发布、路由发布、服务发布等等,这就造成了以下一些问题:

  • 发布者必须熟悉每个流水线的作用和使用方法
  • 发布者必须正确填写流水线的参数
  • 如果有操作顺序要求,发布者还必须要确保流水线的执行顺序

因此在我们的系统中,我设计了一套基于Runbook(即版本发布操作手册)的发布系统:
解析
生成/映射
服务B任务
Build 镜像
发布配置
发布服务
服务A任务
Build 镜像
发布配置
发布服务
发布内容
发布服务A
发布服务B
Runbook
工作流执行引擎
工作流:发布服务A
工作流:发布服务B

该系统以Runbook为入口,通过结构化的Runbook,将研发线条所有人员都可以理解的发布内容,映射为一组顺序/并行性执行的流水线清单(充分利用现有的流水线能力无需重复造轮子),对于版本发布人员来说:

  • 无需再手动操作流水线
  • 只需确保Runbook内容的正确性

即可全自动的完成一次版本发布。

这样的系统在我们的实践中取得了极好的效果,不过目前源码无法开放了,只能简要的

相关推荐
Harm灬小海17 小时前
2026 年主流 AI+DevOps 平台调研分析报告
运维·人工智能·devops
DevOps老兵17 小时前
Kubernetes生产运维02:只会get pods还不够,kubectl排障工具箱怎么组合使用
运维·容器·kubernetes·kubectl·devops·故障排查·sre
Zadig20 小时前
Zadig 全域共享变量:一次配置处处生效,敏感信息自动脱敏
devops
蒲锘20 小时前
DevOps 实验项目笔记三 —— Kubernetes 集群部署阶段
笔记·kubernetes·devops·rbac
Lyy1 天前
DevOps平台 — 第七篇:我的项目与表格组件抽取
后端·devops
智能运维指南1 天前
需求黑洞、业务与 IT 脱节、外包失控:企业需求管理平台如何破局?
devops·cteam
极小狐1 天前
极狐GitLab Runner 自托管安全加固指南
安全·ci/cd·gitlab·devops·runner·安全加固
蒲锘1 天前
DevOps 项目阶段笔记二:Docker Engine + cri-dockerd
笔记·docker·devops
做一个AK梦1 天前
DevOps
运维·devops
Zadig2 天前
企业 Agent 总烂在 Demo 里?Zadig 工作流 AI 任务给了一条路
后端·devops