CN107423952A - 一种可扩展的DevOps持续交付系统及其方法 - Google Patents
一种可扩展的DevOps持续交付系统及其方法 Download PDFInfo
- Publication number
- CN107423952A CN107423952A CN201710610102.9A CN201710610102A CN107423952A CN 107423952 A CN107423952 A CN 107423952A CN 201710610102 A CN201710610102 A CN 201710610102A CN 107423952 A CN107423952 A CN 107423952A
- Authority
- CN
- China
- Prior art keywords
- workflow
- module
- template
- devops
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Abstract
一种可扩展的DevOps持续交付系统,其特征在于,系统基于微服务器编排引擎,具体包括定义服务插件模块、编排工作流模板模块和创建工作流实例模块;定义服务插件模块,用于根据DevOps实践中的需求,调用定义服务插件,更新任务状态;编排工作流模板模块,系统内置或用户定义的基于JSON DSL语言的任务模板,通过拖拽的方式将至少一个任务模板组装为一个覆盖完整DevOps流程的工作流Blueprint模板;创建工作流实例模块,用于根据编排工作流模板模块的工作流模板创建的具体工作实例,并根据任务配置触发器。本方法通过创建工作流编排机制,实现灵活可扩展的持续集成和持续交付。
Description
技术领域
本发明属于数字化业务技术领域,具体涉及一种可扩展的DevOps持续交付系统及其方法。
背景技术
Conductor是Netflix构建的基于云的微服务编排引擎,它管理工作流,可以暂停和重新启动进程,并使用基于JSON DSL的蓝图来定义执行流。另外, Conductor还具有可视化流程流的用户界面,并可扩展到数百万个并发运行的流程流。
据申请人了解,现有市场上的持续交付平台多采用固定流程的方式,用户使用的过程中很难灵活的定制流程,无法任意的增加或减少DevOps步骤,例如代码审查、代码构建、构件发布、自动化部署等。
发明内容
鉴于上述现有技术存在的缺陷,本发明的目的就是提出一种可扩展的 DevOps持续交付系统及其方法,通过创建工作流编排机制,实现灵活可扩展的持续集成和持续交付。
本发明的目的,将通过以下技术方案得以实现:一种可扩展的DevOps持续交付系统,系统基于微服务器编排引擎,具体包括定义服务插件模块、编排工作流模板模块和创建工作流实例模块;
定义服务插件模块,用于根据DevOps实践中的需求,调用定义服务插件,更新任务状态;
编排工作流模板模块,系统内置或用户定义的基于JSON DSL语言的任务模板,通过拖拽的方式将至少一个任务模板组装为一个覆盖完整DevOps流程的工作流Blueprint模板;
创建工作流实例模块,用于根据编排工作流模板模块的工作流创建的具体工作实例,并根据任务配置触发器。
本发明进一步限定的技术方案是:定义服务插件模块中服务插件通过编排引擎Conductor的worker应用实现,并通过Conductor API层通信。
作为本发明的进一步改进,更进一步,服务插件包括两种调用方式,一种通过编排引擎Conductor调用REST端点,另一种是通过调用编排引擎Conductor 的API循环周期性检查待定任务。
作为本发明的进一步改进,进一步,编排工作流模板模块还包括配置参数模板,所述配置参数模板用于声明当前所述编排工作流模板模块中各任务所需配置的参数信息。
作为本发明的进一步改进,进一步,编排工作流模板模块中需要执行的任务分为控制任务和worker任务。
作为本发明的进一步改进,进一步,触发器包括手动触发器、定时周期性触发器、SVN/Git提交触发器和工单系统。
作为本发明的进一步改进,进一步,创建工作流实例模块根据配置参数模板的描述文件录入参数信息。
作为本发明的进一步改进,进一步,定义服务插件模块、编排工作流模板模块和创建工作流实例模块基于B/S架构的管理平台,管理平台通过REST接口从Conductor服务中获取工作流状态信息。
一种可扩展的DevOps持续交付方法,其特征在于,方法基于微服务器编排引擎,具体包括如下步骤;
根据DevOps实践中的需求,调用定义服务插件,更新任务状态;
系统内置或用户定义的基于JSON DSL语言的任务模板,通过拖拽的方式将至少一个任务模板组装为一个覆盖完整DevOps流程的工作流Blueprint模板;
根据工作流Blueprint模板创建的具体工作实例,并根据任务配置触发器。
本发明的突出效果为:本方法通过创建工作流编排机制,以及针对各类工具、平台、任务等实现的服务插件,将原本独立运行于单个或多个节点的任务连接起来,实现复杂、可扩展的交付流程。
具体实施方式
实施例一
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的一种可扩展的DevOps持续交付系统,系统基于微服务器编排引擎,具体包括定义服务插件模块、编排工作流模板模块和创建工作流实例模块;
定义服务插件模块,用于根据DevOps实践中的需求,调用定义服务插件,更新任务状态;
编排工作流模板模块,系统内置或用户定义的基于JSON DSL语言的任务模板,通过拖拽的方式可以将多个任务模板组装为一个覆盖完整DevOps流程的工作流Blueprint模板;
创建工作流实例模块,用于根据编排工作流模板模块的工作流Blueprint 模板创建的具体工作实例,并根据任务配置触发器。
以下将对上各模块中的操作规则、方式等进行详细说明。
定义服务插件模块中服务插件通过编排引擎Conductor的worker应用实现,并通过Conductor API层通信。
服务插件包括两种调用方式,一种通过编排引擎Conductor调用REST端点,另一种是通过调用编排引擎Conductor的API循环周期性检查待定任务,前者是被动的接受Conductor的调用,后者则是通过主动调用Conductor的API,来更新任务的状态。
编排工作流模板模块还包括配置参数模板,所述配置参数模板用于声明当前所述编排工作流模板模块中各任务所需配置的参数信息,参数信息包括键、描述、类型、取值范围、默认值、是否必填等一些信息。
编排工作流模板模块需要执行的任务分为控制任务和worker任务,所述控制任务包括fork(分支),join(合并),decision(决策),sub workflow(子工作流)等,对工作流的定义作版本化控制,提供管理升级以及迁移的灵活性。
创建工作流实例模块根据配置参数模板的描述文件录入参数信息。
触发器包括手动触发器、定时周期性触发器、SVN/Git提交触发器和工单系统。
定义服务插件模块、编排工作流模板模块和创建工作流实例模块可以基于 B/S架构的管理平台,管理平台中管理所有的服务插件、工作流模板等信息,支持在线编写或导入模板。当开发运维人员创建工作流实例后,就会被交到后面的Conductor服务里运行,管理平台通过REST接口从Conductor服务中获取工作流状态信息。
下面是一个简单的工作流模板的示例:
以下是一个系统自动生成的工作流实例的示例:
上面的工作流实例中,包含了一个从Git仓库中下载代码的任务,该任务有几个比较重要的输入参数,jobName表示任务名称,fileName表示任务执行过程中所需要的配置文件,repositoryUrl表示的是Git仓库的地址, reprepositoryBranch表示的是要下载的分支代码。
本发明根据系统提供一种可扩展的DevOps持续交付方法,其特征在于,方法基于微服务器编排引擎,具体包括如下步骤;
根据DevOps实践中的需求,调用定义服务插件,更新任务状态;
根据用户编写的基于JSON DSL的Blueprint文件,通过基于DSL的JSON 定义工作流,工作流Blueprint定义需要执行的任务;
根据工作流Blueprint模板创建的具体工作实例,并根据任务配置触发器。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
Claims (9)
1.一种可扩展的DevOps持续交付系统,其特征在于,系统基于微服务器编排引擎,具体包括定义服务插件模块、编排工作流模板模块和创建工作流实例模块;
所述定义服务插件模块,用于根据DevOps实践中的需求,调用定义服务插件,更新任务状态;
所述编排工作流模板模块,用于系统内置或用户定义的基于JSON DSL语言的任务模板,通过拖拽的方式将至少一个任务模板组装为一个覆盖完整DevOps流程的工作流Blueprint模板;
所述创建工作流实例模块,用于根据编排工作流模板模块的工作流Blueprint模板创建的具体工作实例,并根据任务配置触发器。
2.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,所述定义服务插件模块中服务插件通过编排引擎Conductor的worker应用实现,并通过Conductor API层通信。
3.根据权利要求2所述的一种可扩展的DevOps持续交付系统,其特征在于,所述服务插件包括两种调用方式,一种通过编排引擎Conductor调用REST端点,另一种是通过调用编排引擎Conductor的API循环周期性检查待定任务。
4.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,所述编排工作流模板模块还包括配置参数模板,所述配置参数模板用于声明当前所述编排工作流模板模块中各任务所需配置的参数信息。
5.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,所述编排工作流模板模块中需要执行的任务分为控制任务和worker任务。
6.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,所述触发器包括手动触发器、定时周期性触发器、SVN/Git提交触发器和工单系统。
7.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,所述创建工作流实例模块根据配置参数模板的描述文件录入参数信息。
8.根据权利要求1所述的一种可扩展的DevOps持续交付系统,其特征在于,所述定义服务插件模块、所述编排工作流模板模块和所述创建工作流实例模块基于B/S架构的管理平台,管理平台通过REST接口从Conductor服务中获取工作流状态信息。
9.一种可扩展的DevOps持续交付方法,其特征在于,方法基于微服务器编排引擎,具体包括如下步骤;
根据DevOps实践中的需求,调用定义服务插件,更新任务状态;
系统内置或用户定义的基于JSON DSL语言的任务模板,通过拖拽的方式将至少一个任务模板组装为一个覆盖完整DevOps流程的工作流Blueprint模板;
根据工作流Blueprint模板创建的具体工作实例,并根据任务配置触发器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710610102.9A CN107423952B (zh) | 2017-07-25 | 2017-07-25 | 一种可扩展的DevOps持续交付系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710610102.9A CN107423952B (zh) | 2017-07-25 | 2017-07-25 | 一种可扩展的DevOps持续交付系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423952A true CN107423952A (zh) | 2017-12-01 |
CN107423952B CN107423952B (zh) | 2020-10-27 |
Family
ID=60430530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710610102.9A Active CN107423952B (zh) | 2017-07-25 | 2017-07-25 | 一种可扩展的DevOps持续交付系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423952B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766166A (zh) * | 2018-12-29 | 2019-05-17 | 优刻得科技股份有限公司 | 业务流程处理方法、装置、存储介质和设备 |
CN109800937A (zh) * | 2018-08-28 | 2019-05-24 | 博众精工科技股份有限公司 | 机器人集群调度系统 |
CN110442371A (zh) * | 2019-08-05 | 2019-11-12 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN110704124A (zh) * | 2019-09-19 | 2020-01-17 | 国云科技股份有限公司 | 一种流数据结构化处理系统及方法 |
WO2020042086A1 (zh) * | 2018-08-30 | 2020-03-05 | 深圳市互盟科技股份有限公司 | 一种实现DevOps的方法及系统 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN111158708A (zh) * | 2019-12-25 | 2020-05-15 | 上海精鲲计算机科技有限公司 | 一种任务编排引擎系统 |
CN111399814A (zh) * | 2020-03-09 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 一种构建任务可视化编排方法及装置 |
CN112070452A (zh) * | 2020-07-16 | 2020-12-11 | 石化盈科信息技术有限责任公司 | 一种分布式工作流管理系统 |
CN113127368A (zh) * | 2021-04-30 | 2021-07-16 | 中原银行股份有限公司 | 一种生成流水线的方法、系统和介质 |
CN113407178A (zh) * | 2021-06-01 | 2021-09-17 | 上海安畅网络科技股份有限公司 | 一种跨平台的DevOps引擎模板方法和系统 |
CN114237628A (zh) * | 2022-02-25 | 2022-03-25 | 卓望数码技术(深圳)有限公司 | 微服务编排及调用方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2482101A (en) * | 2009-05-08 | 2012-01-18 | Hyperspace Pty Ltd | A useable electromagnetic blueprint of the structure of space |
CN105068794A (zh) * | 2015-07-17 | 2015-11-18 | 浪潮软件股份有限公司 | 一种支持Web页面本地研发的实现方法 |
CN105631602A (zh) * | 2016-01-11 | 2016-06-01 | 中国移动通信集团广东有限公司 | 一种基于DevOps的业务级运维平台 |
CN105900518A (zh) * | 2013-08-27 | 2016-08-24 | 华为技术有限公司 | 用于移动网络功能虚拟化的系统及方法 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
-
2017
- 2017-07-25 CN CN201710610102.9A patent/CN107423952B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2482101A (en) * | 2009-05-08 | 2012-01-18 | Hyperspace Pty Ltd | A useable electromagnetic blueprint of the structure of space |
CN105900518A (zh) * | 2013-08-27 | 2016-08-24 | 华为技术有限公司 | 用于移动网络功能虚拟化的系统及方法 |
CN105068794A (zh) * | 2015-07-17 | 2015-11-18 | 浪潮软件股份有限公司 | 一种支持Web页面本地研发的实现方法 |
CN105631602A (zh) * | 2016-01-11 | 2016-06-01 | 中国移动通信集团广东有限公司 | 一种基于DevOps的业务级运维平台 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
Non-Patent Citations (3)
Title |
---|
THOMAS PEREZ: "Netflix Open Sources Conductor, A Microservice Orchestrator", 《HTTPS://WWW.ZEOLEARN.COM/MAGAZINE/NETFLIX-OPEN-SOURCES-CONDUCTOR-A-MICROSERVICE-ORCHESTRATOR》 * |
刘志勇: "Netflix Conductor:一个微服务的编排器", 《HTTPS://WWW.INFOQ.CN/ARTICLE/NETFLIX-CONDUCTOR-A-MICRO-SERVICE-ORCHESTRATION》 * |
孙琼 等: "新一代运营系统中持续交付平台的实现", 《电信技术》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800937B (zh) * | 2018-08-28 | 2020-12-01 | 博众精工科技股份有限公司 | 机器人集群调度系统 |
CN109800937A (zh) * | 2018-08-28 | 2019-05-24 | 博众精工科技股份有限公司 | 机器人集群调度系统 |
WO2020042086A1 (zh) * | 2018-08-30 | 2020-03-05 | 深圳市互盟科技股份有限公司 | 一种实现DevOps的方法及系统 |
CN109766166A (zh) * | 2018-12-29 | 2019-05-17 | 优刻得科技股份有限公司 | 业务流程处理方法、装置、存储介质和设备 |
CN110442371B (zh) * | 2019-08-05 | 2022-08-16 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN110442371A (zh) * | 2019-08-05 | 2019-11-12 | 武汉斗鱼网络科技有限公司 | 一种发布代码的方法、装置、介质及计算机设备 |
CN110704124A (zh) * | 2019-09-19 | 2020-01-17 | 国云科技股份有限公司 | 一种流数据结构化处理系统及方法 |
CN111078315B (zh) * | 2019-12-12 | 2020-12-08 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN111158708A (zh) * | 2019-12-25 | 2020-05-15 | 上海精鲲计算机科技有限公司 | 一种任务编排引擎系统 |
CN111158708B (zh) * | 2019-12-25 | 2023-04-25 | 上海精鲲计算机科技有限公司 | 一种任务编排引擎系统 |
CN111399814A (zh) * | 2020-03-09 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 一种构建任务可视化编排方法及装置 |
CN112070452A (zh) * | 2020-07-16 | 2020-12-11 | 石化盈科信息技术有限责任公司 | 一种分布式工作流管理系统 |
CN113127368A (zh) * | 2021-04-30 | 2021-07-16 | 中原银行股份有限公司 | 一种生成流水线的方法、系统和介质 |
CN113407178A (zh) * | 2021-06-01 | 2021-09-17 | 上海安畅网络科技股份有限公司 | 一种跨平台的DevOps引擎模板方法和系统 |
CN113407178B (zh) * | 2021-06-01 | 2022-06-17 | 上海安畅网络科技股份有限公司 | 一种跨平台的DevOps引擎模板方法和系统 |
CN114237628A (zh) * | 2022-02-25 | 2022-03-25 | 卓望数码技术(深圳)有限公司 | 微服务编排及调用方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107423952B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423952A (zh) | 一种可扩展的DevOps持续交付系统及其方法 | |
CN105700888B (zh) | 一种基于jbpm工作流引擎的可视化快速开发平台 | |
US7739695B2 (en) | Computer implemented method and system for running a plurality of business processes | |
CN102982396A (zh) | 通用过程建模框架 | |
CN109740851A (zh) | 快速交付的自控设计工作管理方法、平台及系统 | |
CN106408170A (zh) | 一种电子工单处理方法、工作流引擎及电子工单系统 | |
CN107766042A (zh) | 一种基于csar的模型文件的可视化设计方法及装置 | |
CN111264048B (zh) | 用于定义用于ns的nsd并实例化ns的方法及相关网络节点 | |
CN106548670A (zh) | 在线教学平台及在线教学方法 | |
CN107368043B (zh) | 配方管理控制系统 | |
CN112669110A (zh) | 服务器标签管理方法及相关设备 | |
CN109740849A (zh) | 快速交付的结构设计工作管理方法、平台及系统 | |
CN105894159A (zh) | 一种跨领域跨平台的用户统一管理系统的实现方法 | |
CN104572068A (zh) | 用于经由产品目录保持产品行为数据的方法和系统 | |
CN102710793A (zh) | 一种基于云计算的网络印刷系统以及用于该系统中的数据存储方法 | |
CN103345410A (zh) | 移动作业业务客制化界面实现方法和系统 | |
CN110347494A (zh) | 上下文信息管理方法、装置、系统及计算机可读存储介质 | |
CN106888256A (zh) | 分布式监控系统及其监控和调度方法与装置 | |
CN108108986A (zh) | 一种客户关系管理系统的设计方法、装置及电子设备 | |
CN112035861A (zh) | 在线文档处理方法、装置和电子设备 | |
CN108268615B (zh) | 一种数据处理方法、装置以及系统 | |
CN105224686B (zh) | 一种mes采集终端动态可配置显示系统及其实现方法 | |
CN109740850A (zh) | 快速交付的工业设计工作管理方法、平台及系统 | |
CN101751255B (zh) | 遵循xpdl规范工作流中间件实现服务编制的方法、装置 | |
CN106550045A (zh) | 一种分布式数据处理方法及组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215213 South Floor 4, Fuhua Building, No. 199 Chongwen Road, Suzhou Industrial Park, Suzhou, Jiangsu Province Patentee after: Jiangsu Boyun Technology Co.,Ltd. Address before: 215213 South Floor 4, Fuhua Building, No. 199 Chongwen Road, Suzhou Industrial Park, Suzhou, Jiangsu Province Patentee before: SUZHOU BONA XUNDONG SOFTWARE Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |