首页 / 专利库 / 资料储存系统 / 大数据 / 一种用于构建多业务场景自动化流水线的方法

一种用于构建多业务场景自动化流线的方法

阅读:874发布:2020-05-11

专利汇可以提供一种用于构建多业务场景自动化流线的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种用于构建多业务场景自动化流 水 线的方法,包括整体架构,流程引擎,扩展市场和流水线描述文件,所述整体架构包括:可提交流水线描述文件和可选源信息至API Server的交互层,负责接收并处理交互层发送的 请求 的API Server,用于管理和触发定时流水线的Crond,用于具体流水线执行的流程引擎,依赖的 中间件 和架构优势。本发明中的流水线方案,同时支持CI/CD、 大数据 、Ops自动化运维、QA代码 质量 分析、API-Test等场景;设计中提出的流水线描述文件、语法足够精简且功能完备,让用户几乎没有上手成本;同时,扩展市场的设计,为流水线提供了无限扩展的可能;用户可以自行开发或者使用其他开发者开发好的扩展Action,极大地丰富了使用场景。,下面是一种用于构建多业务场景自动化流线的方法专利的具体信息内容。

1.一种用于构建多业务场景自动化流线的方法,其特征在于,本发明包括整体架构,流程引擎,扩展市场和流水线描述文件,所述整体架构包括:可提交流水线描述文件和可选源信息至API Server的交互层,负责接收并处理交互层发送的请求的API Server,用于管理和触发定时流水线的Crond,用于具体流水线执行的流程引擎,依赖的中间件和架构优势。
2.如权利要求1所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述流程引擎包括执行每个Action的Action Executor和在流水线维度使用Action Executor的能用于实现流水线推进的Reconciler。
3.如权利要求1所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述API Server包括流水线的创建、开始、执行进度查询、停止和根据条件查询流水线。
4.如权利要求1所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述依赖的中间件包括用于整个架构中的分布式、事件监听和部分数据存储的etcd和用于持久化存储流水线的具体执行情况以及元信息的MySQL。
5.如权利要求2所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述Action Executor在代码层面作为接口模式。
6.如权利要求2所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述Reconciler执行过程如下:
S1、监听新增的流水线任务;
S2、根据所有Action的执行情况,计算出流水线的整体执行情况,若为终态,则无需推进,执行后续清理工作;否则,执行S3;
S3、根据DAG和所有Action执行情况,计算出可调度的Action列表;
S4、针对可执行列表里的每个Action,调用具体的Action Executor开始执行;
S5、每个Action执行至成功或失败的终态,重复S2、S3、S4、S5;
S6、最终整条流水线推进至终态,本次Reconcile结束。
7.如权利要求1所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述扩展市场可以通过开发在不同项目和用户之间分享的Action不断扩充完善。
8.如权利要求1所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述流水线描述文件包括:全局文件结构,Action配置项,Action间的引用,Secret配置。
9.如权利要求8所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述全局文件结构包括:表示流水线描述文件的版本号的version;表示全局环境变量的envs;作为定时配置的cron;作为流水线描述文件的核心字段的stages。
10.如权利要求9所述的一种用于构建多业务场景自动化流水线的方法,其特征在于,所述cron被设计为支持两种格式:分钟级和秒级。

说明书全文

一种用于构建多业务场景自动化流线的方法

技术领域

[0001] 本发明属于PaaS平台领域,具体涉及一种用于构建多业务场景自动化流水线的方法。

背景技术

[0002] 目前市面上使用量较大的流水线产品持续集成工具主要有Jenkins、Circle CI、Travis CI等,这些开源软件项目仅支持CI/CD场景,应用持续集成和持续交付,支持场景单一;且流水线描述文件难以手动编写,用户使用难度大;流水线任务抽象不够或者完全没有抽象,用户需要从零开始描述每个任务的具体步骤,复用程度低。传统模式下,用户在流水线描述中经常会有大量重复逻辑出现,往往只有极个别参数不同。相同的内容在不同流水线描述文件之间互相拷贝,容易出错,如果这段重复逻辑中出现问题需要修复,则所有描述文件都需要进行同样的修改,成本极高,而且容易遗漏。用户想要对代码进行质量分析,却不知该如何下手,只能在搜索引擎上搜索如何针对指定语言进行代码质量分析,然后自己定义脚本,在脚本中安装一堆分析软件对代码进行分析,成本太高,且用户之间无法分享经验。
[0003] 用于构建多业务场景自动化流水线的方法可以通过一个流水线技术同时支持CI/CD、大数据计算、Ops自动化运维、QA代码质量分析、API-Test接口测试等场景。

发明内容

[0004] 为了解决上述问题,本发明提供了一种用于构建多业务场景自动化流水线的方法,可以克服传统开源软件项目支持场景单一、复用程度低的问题,实现一个流水线技术支持多场景,提高流水线服用程度。
[0005] 本发明的技术方案为:一种用于构建多业务场景自动化流水线的方法,其特征在于,本发明包括整体架构,流程引擎,扩展市场和流水线描述文件,所述整体架构包括:可提交流水线描述文件和可选源信息至API Server的交互层,负责接收并处理交互层发送的请求的API Server,用于管理和触发定时流水线的Crond,用于具体流水线执行的流程引擎,依赖的中间件和架构优势。
[0006] 典型的交互方式包括但不限于:UI界面,RESTful API,CLI(命令行工具)。
[0007] 流程引擎负责具体流水线的执行,流水线会被拆分为一个个执行单元,按照描述文件中指定的顺序进行。作为优选,流程引擎包括执行每个Action的Action Executor和在流水线维度使用Action Executor的能用于实现流水线推进的Reconciler。
[0008] API Server包括但不限于流水线的创建、开始、执行进度查询、停止和根据条件查询流水线。API Server解析描述文件,在数据库中插入流水线数据;若流水线带有定时配置,解析之后会提交至Crond统一管理;将流水线ID提交至流水线引擎(写入etcd),等待执行。
[0009] 作为优选,依赖的中间件包括用于整个架构中的分布式、事件监听和部分数据存储的etcd和用于持久化存储流水线的具体执行情况以及元信息的MySQL。
[0010] 作为优选,Action Executor在代码层面作为接口模式。
[0011] Reconciler执行过程如下:
[0012] S1、监听新增的流水线任务;
[0013] S2、根据所有Action的执行情况,计算出流水线的整体执行情况,若为终态,则无需推进,执行后续清理工作;否则,执行S3;
[0014] S3、根据DAG和所有Action执行情况,计算出可调度的Action列表;
[0015] S4、针对可执行列表里的每个Action,调用具体的Action Executor开始执行;
[0016] S5、每个Action执行至成功或失败的终态,重复S2、S3、S4、S5;
[0017] S6、最终整条流水线推进至终态,本次Reconcile结束。
[0018] 扩展市场的出现为流水线提供了无限的可能,作为优选,扩展市场可以通过开发在不同项目和用户之间分享的Action不断扩充完善。
[0019] Action的开发包括:Action的交付方式是Docker镜像,用户需要提供/opt/Action/run这个可执行文件,在这个文件中包含具体的处理逻辑;run可执行文件可以使用任何编程语言进行开发,包括shell。
[0020] 流水线描述文件包括:全局文件结构,Action配置项,Action间的引用,Secret配置。作为优选,全局文件结构包括:表示流水线描述文件的版本号的version;表示全局环境变量的envs;作为定时配置的cron;作为流水线描述文件的核心字段的stages;cron被设计为支持两种格式:分钟级(Linux crontab标准格式);秒级(Java schedule格式)。
[0021] 与现有技术相比,本发明的有益效果体现在:
[0022] 本发明中的流水线解决方案,同时支持CI/CD、大数据、Ops自动化运维、QA代码质量分析、API-Test等场景;设计中提出的流水线描述文件、语法足够精简且功能完备,让用户几乎没有上手成本;同时,扩展市场的设计,为流水线提供了无限扩展的可能;用户可以自行开发或者使用其他开发者开发好的扩展Action,极大地丰富了使用场景。附图说明
[0023] 图1为本发明的自动化流水线的整体架构。
[0024] 图2为本发明的自动化流水线配套使用的扩展市场。

具体实施方式

[0025] 一种用于构建多业务场景自动化流水线的方法,其特征在于,本发明包括整体架构,流程引擎,扩展市场和流水线描述文件,所述整体架构包括:可提交流水线描述文件和可选源信息至API Server的交互层,负责接收并处理交互层发送的请求的API Server,用于管理和触发定时流水线的Crond,用于具体流水线执行的流程引擎,依赖的中间件和架构优势。
[0026] 典型的交互方式包括但不限于:UI界面,RESTful API,CLI(命令行工具)。
[0027] 流程引擎负责具体流水线的执行,流水线会被拆分为一个个执行单元,按照描述文件中指定的顺序进行。作为优选,流程引擎包括执行每个Action的Action Executor和在流水线维度使用Action Executor的能力用于实现流水线推进的Reconciler。
[0028] API Server包括但不限于流水线的创建、开始、执行进度查询、停止和根据条件查询流水线。API Server解析描述文件,在数据库中插入流水线数据;若流水线带有定时配置,解析之后会提交至Crond统一管理;将流水线ID提交至流水线引擎(写入etcd),等待执行。
[0029] 作为优选,依赖的中间件包括用于整个架构中的分布式锁、事件监听和部分数据存储的etcd和用于持久化存储流水线的具体执行情况以及元信息的MySQL。
[0030] 作为优选,Action Executor在代码层面作为接口模式。
[0031] Reconciler执行过程如下:
[0032] S1、监听新增的流水线任务;
[0033] S2、根据所有Action的执行情况,计算出流水线的整体执行情况,若为终态,则无需推进,执行后续清理工作;否则,执行S3;
[0034] S3、根据DAG和所有Action执行情况,计算出可调度的Action列表;
[0035] S4、针对可执行列表里的每个Action,调用具体的Action Executor开始执行;
[0036] S5、每个Action执行至成功或失败的终态,重复S2、S3、S4、S5;
[0037] S6、最终整条流水线推进至终态,本次Reconcile结束。
[0038] 扩展市场的出现为流水线提供了无限的可能,作为优选,扩展市场可以通过开发在不同项目和用户之间分享的Action不断扩充完善。
[0039] Action的开发包括:Action的交付方式是Docker镜像,用户需要提供/opt/Action/run这个可执行文件,在这个文件中包含具体的处理逻辑;run可执行文件可以使用任何编程语言进行开发,包括shell。
[0040] 流水线描述文件包括:全局文件结构,Action配置项,Action间的引用,Secret配置。作为优选,全局文件结构包括:表示流水线描述文件的版本号的version;表示全局环境变量的envs;作为定时配置的cron;作为流水线描述文件的核心字段的stages;cron被设计为支持两种格式:分钟级(Linux crontab标准格式);秒级(Java schedule格式)。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈