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

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

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

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

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

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

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

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

相关推荐
明航咨询—张老师11 小时前
告别文档堆砌,CMMI V3.0 如何让敏捷开发真正落地
敏捷开发·devops·数据驱动·cmmi v3.0
Cat_Rocky1 天前
CICD-DevOps简单学习
运维·学习·devops
qq_白羊座2 天前
CI/CD 与 DevOps 四
运维·ci/cd·devops
Drache_long2 天前
DevOps
运维·devops
齐潇宇2 天前
DevOps介绍与工具链全解析
运维·devops·cicd
qq_白羊座2 天前
CI/CD 与 DevOps 一
ci/cd·kubernetes·devops
东北甜妹2 天前
DevOps 和 Git,Gitlab
git·gitlab·devops
qq_白羊座2 天前
CI/CD 与 DevOps 二
运维·ci/cd·devops
qq_白羊座2 天前
CI/CD 与 DevOps 三
运维·ci/cd·devops
2601_948810602 天前
DevOps
运维·devops