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

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

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

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

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

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

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

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

相关推荐
遨游DATA41 分钟前
Jenkins 修改 config.xml 后页面仍是旧配置:让 live job 配置真正生效
ci/cd·jenkins·devops·故障排查·config.xml
71777715 小时前
国产 DevOps 新路径:解析 Gitee 软件工厂本土化、信创、AI 核心优势
人工智能·gitee·devops
寒水馨1 天前
Linux下载、安装PowerShell-v7.6.4(附安装包powershell-7.6.4-linux-x64.tar.gz)
linux·跨平台·自动化运维·devops·命令行·powershell·脚本语言
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(十):Ingress配置与应用
自动化运维·devops
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(九):Jenkins自动化构建
自动化运维·devops
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(八):容器化实战
自动化运维·devops
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(七):远程连接Kubernetes集群
自动化运维·devops
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(五):Harbor企业级镜像仓库
自动化运维·devops
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(六):Kubernetes集群搭建
自动化运维·devops
易样1 天前
企业级Devops— 打造完整 CICD 实践指南(十一):Rancher可视化管理
自动化运维·devops