1 .一种基于版本控制的DevOps元流水线系统,其特征在于,该系统基于给定的配置文
件搭建并生成对应的DevOps流水线,并通过识别配置文件的更新来更新维护生成的DevOps
流水线;其实现包括元流水线系统和工作负载池;
还包括流水线配置文件、配置仓库、配置加载器和配置生成器,其中流水线配置文件以
可读的结构化文件描述流水线结构;配置仓库用于保存流水线配置文件并进行版本控制;
配置加载器用于解析流水线配置文件并生成对应的结构化数据对象;配置生成器用于从流
水线实例元数据库中读取需要导出配置的流水线的版本控制信息,并根据对应版本从配置
仓库获取流水线实例的对应配置文件。
2.根据权利要求1所述的一种基于版本控制的DevOps元流水线系统,其特征在于,所述
元流水线系统可抽象为流水线实例元数据库、编排引擎和调度器,其中,
流水线实例元数据库用于保存流水线的逻辑结构,包括流水线实例的各个执行步骤,
执行每个步骤的工作负载,每个步骤需要执行的自动化脚本以及各个步骤的执行配置信
息;
编排引擎负责编排并生成流水线实例的逻辑结构;
调度器负责根据流水线实例元数据库中的流水线元数据将流水线实例调度到工作负
载池中的指定工作负载并进行实例的一次执行。
3 .根据权利要求2所述的一种基于版本控制的DevOps元流水线系统,其特征在于,创建
新流水线的实现过程如下:
流水线运维 人 员编写新的 流水线配置文件 ,并向 元 流 水 线 系统的 配置仓库发 起
PullRequest请求,相关审核人员审核通过后合并PullRequest到配置仓库的主工作分支;
元流水线通过githook感知配置仓库的更新,触发配置加载器通过gitdiff找到需要更新的
流水线,并将对应的配置文件解析为流水线实例的元数据后,调用编排引擎更新流水线实
例元数据库中的相关元数据;调度器在流水线下次执行时,根据最新版本的流水线实例元
数据从工作负载池选择执行实例流水线的相关负载,并执行实例流水线。
4 .根据权利要求3所述的一种基于版本控制的DevOps元流水线系统,其特征在于,导出
流水线配置文件的过程如下:
流水线运维人员通过预先暴露的API向配置生成器发送查询指定流水线实例版本的请
求,配置生成器查询流水线实例元数据库中的指定实例版本并返回版本信息列表,流水线
运维人员根据选定的流水线实例和版本号发送导出流水线配置的请求,配置生成器根据该
请求携带参数中指定的流水线实例id和版本号从配置仓库拉取对应的流水线配置文件并
返回供流水线运维人员下载。
5 .根据权利要求4所述的一种基于版本控制的DevOps元流水线系统,其特征在于,更新
流水线的实现过程如下:
流水线运维人员修改导出后的流水线配置文件,修改需要更新的内容,并向元流水线
系统的配置仓库发起PullRequest请求,相关审核人员审核通过后合并PullRequest到配置
仓库的主工作分支;元流水线通过githook感知配置仓库的更新,触发配置加载器通过
gitdiff找到需要更新的流水线,并将对应的配置文件解析为流水线实例的元数据后,调用
编排引擎更新流水线实例元数据库中的相关元数据;调度器在流水线下次执行时,根据最
新版本的流水线实例元数据从工作负载池选择执行实例流水线的相关负载,并执行实例流
权 利 要 求 书
1/3 页
2
评论