CN111930421A - 一种基于DevOps的自由编排监控系统及其使用方法 - Google Patents

一种基于DevOps的自由编排监控系统及其使用方法 Download PDF

Info

Publication number
CN111930421A
CN111930421A CN202010755244.6A CN202010755244A CN111930421A CN 111930421 A CN111930421 A CN 111930421A CN 202010755244 A CN202010755244 A CN 202010755244A CN 111930421 A CN111930421 A CN 111930421A
Authority
CN
China
Prior art keywords
pipeline
task
configuration
database server
devops
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.)
Pending
Application number
CN202010755244.6A
Other languages
English (en)
Inventor
岳文君
孙若凡
谢承翰
潘钺
王兵
丁科休
王启威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Clp Hongxin Information Technology Co ltd
Original Assignee
Clp Hongxin Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Clp Hongxin Information Technology Co ltd filed Critical Clp Hongxin Information Technology Co ltd
Priority to CN202010755244.6A priority Critical patent/CN111930421A/zh
Publication of CN111930421A publication Critical patent/CN111930421A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于DevOps的自由编排监控系统及其使用方法,本发明将流水线任务原子化和参数化配置,使得任务高度可复用;设计了流水线模板、流水线任务、流水线阶段,可以更加清晰的定义传统CICD流水线;流水线配置功能,实现了可视化模块化配置,改变了传统脚本配置方式,降低了流水线的配置难度,可以大大提高DevOps流水线使用的灵活性和可扩展性,织级研发管理可以自由配置出适合公司产品的多条流水线模板,项目团队选取模板后在模板中编排单元测试、代码扫描、构建、自动化测试、人工审批等各个类型的任务,形成适合自己团队的CICD流水线。

Description

一种基于DevOps的自由编排监控系统及其使用方法
技术领域
本发明涉及项目流水线部署技术领域,具体涉及一种基于DevOps的自由编排监控系统及其使用方法。
背景技术
DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,是一组流程、技术与工具的统称,用于促进开发、技术运营和质量保证部门之间的沟通、协作与整合。
随着软件系统架构复杂度的增加以及项目规模逐渐扩大, 规范化和标准化的构建和交付流程往往成为影响产品成败的关键,实现了端到端CICD流水线的DevOps能很好地解决了这一问题。
实践DevOps的过程中,企业中不同的项目团队由于产品形态不同导致构建和交付过程也不尽相同,过于固化的CICD流水线配置会导致项目团队不能很好地实践DevOps流水线以至于失败。
目前大部分企业在实践流水线的过程中,都是手工配置流水线,需要投入大量的人力去重复探索适合自己公司的流水线,而且这种手工配置的流水线一旦配置完成也很难去做很大的调整,导致在公司内推广也有极大的难度。
发明内容
(一)解决的技术问题
本发明的目的在于提供了一种基于DevOps的自由编排监控系统及其使用方法,组织级研发管理可以自由配置出适合公司产品的多条流水线模板,项目团队选取模板后在模板中编排单元测试、代码扫描、构建、自动化测试、人工审批等各个类型的任务,形成适合自己团队的CICD流水线。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种基于DevOps的自由编排监控系统,包括:
前端模块,用于提供人机交互界面;
数据库服务器,用于存储数据信息;
Jenkins服务器,用于创建执行持续集成与持续部署流水线,并推送制品到制品库;
制品库,用于存放War包与Docker镜像;
代码仓库,用于存放项目源码;
后台服务程序模块,用于整合资源的核心中枢,负责连接前端、Jenkins服务器、制品库与数据库服务器。
进一步的,所述数据库服务器内包括数据库服务器A和数据库服务器B,数据库服务器A为MySQL数据库;数据库服务器B为ES数据库。
进一步的,具体包括以下步骤,
步骤1:流水线模型定义;
步骤2:项目流水线配置与初始化;
步骤3:流水线监控。
进一步的,所述步骤1具体包括以下步骤,
步骤1.1:对流水线任务模型进行定义,分析研发过程涉及的系统和工具,分解并抽象成原子任务,并且提取任务在不同项目中特异性的配置作为任务的参数,并在数据库服务器中创建流水线任务模板表,用于存储已创建的流水线任务信息;
步骤1.2:对流水线阶段模型进行定义,分析出研发过程中的活动设计出流水线阶段,并在数据库服务器创建流水线阶段模板表,用于存储已创建的流水线阶段信息;
步骤1.3:对流水线模板模型定义,对流水线模板中的模板名称、流水线阶段和流水线阶段顺序的定义,组织级研发管理角色可以通过流水线模型自由编排适合组织的持续集成持续部署流水线,并在数据库服务器中创建流水线模板表,用于存储已创建的流水线模板。
进一步的,所述步骤2具体包括以下步骤,
步骤2.1:新建项目并配置项目信息;
步骤2.2:在步骤2.1创建的项目下新建流水线,并填写流水线的全局配置;
步骤2.3:再对流水线的流水线阶段进行任务配置,实现任务的自由编排;
步骤2.4:将流水线每一个阶段都填写完毕后可以保存项目的流水线信息,即初始化流水线:将已经保存的项目流水线配置信息存储在数据库服务器的流水线配置表中,后台服务程序模块以配置信息为基础,通过脚本代码生成器,将各任务转化为以Groovy语法编写的任务脚本,并调用JenkinsAPI,将任务脚本自动注入Jenkins服务器流水线中,创建持续集成持续部署流水线;
步骤2.5:初始化后,后台服务程序就绪,触发流水线执行;
步骤2.6:保存后的流水线配置可以选中后进行编辑,修改任务顺序、任务配置信息以及增加删除任务;流水线配置的每一次修改都分版本存储在数据库服务器建立的流水线配置表中,可以选中历史版本进行查看具体配置信息,支持版本回滚。
进一步的,所述步骤3具体包括:后台服务程序模块通过定时任务调用JenkinsAPI,同步流水线状态,获取运行中流水线日志,经后台服务程序模块处理后,将运行状态与运行时间信息通过Websocket返回前端显示,日志、状态、时间信息存在数据库服务器建立的流水线记录表中。
进一步的,所述原子任务包括固有流水线任务和通用任务。
(三)有益效果
本发明提供一种基于DevOps的自由编排监控系统及其使用方法, 本发明将流水线任务原子化和参数化配置,使得任务高度可复用;设计了流水线模板、流水线任务、流水线阶段,可以更加清晰的定义传统CICD流水线;流水线配置功能,实现了可视化模块化配置,改变了传统脚本配置方式,降低了流水线的配置难度,可以大大提高DevOps流水线使用的灵活性和可扩展性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的总体技术方案流程图;
图2为本发明的主要功能模块示意图;
图3为本发明的一种流水线模型定义流程图;
图4为本发明的一种流水线模板可视化自由编排示意图;
图5为本发明的一种流水线配置及初始化流程图;
图6为本发明的一种流水线任务可视化自由编排示意图;
图7为本发明实施例配置的持续集成流水线图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围,本发明具体包括以下内容:
(一)流水线模型定义
如图3所示,流水线模板定义流程为:
1. 流水线任务模型定义
分析研发过程涉及的系统和工具,分解并抽象成原子任务,并且提取这些任务在不同项目中特异性的配置作为任务的参数,如更新代码任务的分支配置、单元测试任务的测试命令配置、编译打包任务的命令配置、部署任务的环境配置等。
原子任务包括两大类:
a.固有流水线任务:准备任务、更新代码、单元测试、静态代码扫描、编译打包、构建镜像、部署、晋级、自动化测试(包含接口、性能、界面三大类)、安全审计、发布;
b.通用任务:邮件通知、人工审批、自定义脚本。
以此为依据,在MySQL数据库中创建流水线任务模板表,用于存储已创建的流水线任务信息。
各任务均有对应脚本代码生成器,通过脚本代码生成器,可将各任务转化为以Groovy语法编写的任务脚本;在初始化流水线时,任务脚本将自动注入Jenkins流水线中,以声明式流水线方式构建执行。
2. 流水线阶段模型定义
分析出研发过程中的所有活动设计出流水线阶段,流水线阶段一般根据软件所处环境和涉及人员角色来进行划分。流水线阶段中包含流水线阶段名称、固有流水线任务、通用任务的配置,如流水线阶段名称为更新代码,可为其配置更新代码固有任务、邮件通知等一种或多种通用任务。
以此为依据,在MySQL数据库创建流水线阶段模板表,用于存储已创建的流水线阶段信息;
3. 流水线模板模型定义
流水线模板中包括模板名称、流水线阶段和流水线阶段顺序的定义。本发明提供用户一种流水线模板可视化自由编排能力,如图4所示,步骤1可添加流水线阶段,步骤2可去除流水线阶段,两者结合可实现流水线阶段顺序的自由编排。
以此为依据,在MySQL数据库中创建流水线模板表,用于存储已创建的流水线模板。
组织级研发管理角色可以通过流水线模型定义功能,自由编排适合组织的多条持续集成持续部署流水线。
(二)项目流水线配置与初始化
如图5所示,项目流水线配置与初始化流程为:
1. 新建项目
新建项目并配置项目信息:项目名称、版本库地址、语言、中间件等信息;
2. 新建流水线
在该项目下新建流水线,并填写流水线的全局配置:如流水线名称、流水线模板、触发方式(手动触发/Webhook/轮询触发/定时触发)、流水线记录的清理策略、是否并发构建、是否参数化构建等;
3. 可视化自由编排流水线任务
上步骤配置好流水线模板后,可选中流水线模板的某一个阶段,一方面配置固有任务的参数信息,如更新代码分支配置、单元测试测试命令配置、编译打包命令配置、部署环境配置等;另一方面可添加一种或多种通用任务,并实现任务的自由编排。
以图6为例讲述流水线任务可视化自由编排:假设流水线模板选取代码检测模板,选择更新代码阶段时,可指定更新代码分支;亦可添加一种或多种通用任务,并配置通用任务的参数信息,如添加邮件通知任务,可配置邮件通知地址,或企业微信、短信等通知方式。基于此,加之以拖动方式改变任务顺序,实现可视化自由编排;
4. 初始化流水线
将流水线每一个阶段都填写完毕后可以保存项目或产品的流水线信息,即初始化流水线:一方面将新建的流水线配置信息存储在MySQL数据库的流水线配置表中,另一方面服务程序以配置信息为基础,通过脚本代码生成器,将各任务转化为以Groovy语法编写的任务脚本,并调用JenkinsAPI,将任务脚本自动注入Jenkins流水线中,创建持续集成持续部署流水线,以声明式流水线方式构建执行;
5. 触发流水线
初始化后,后台服务程序就绪,可以手动触发/Webhook/轮询触发/定时触发多种方式触发流水线执行;
6. 流水线配置管理
保存后的流水线配置可以选中后进行编辑,修改任务顺序、任务配置信息以及增加删除任务;流水线配置的每一次修改都分版本存储在数据库流水线配置表中,可以选中历史版本进行查看具体配置信息,支持版本回滚。
基于上述操作,在一个项目或产品下可以配置多条流水线:比如代码检测流水线、持续集成流水线或者持续发布流水线。每一条流水线均可独立触发和执行。
(三)流水线监控
服务程序通过定时任务调用JenkinsAPI,一方面同步流水线状态,另一方面获取运行中流水线日志,经服务程序处理后,将运行状态与运行时间等信息通过Websocket返回前端显示;日志存在ES数据库,状态,时间等信息存在MySQL中流水线记录表中。基于此,可实现如下流水线监控内容:
1. 项目的流水线列表中展示项目内所有流水线的最新执行状态;
2. 流水线详情里面展示流水线最近的执行信息:流水线实时日志、阶段日志、任务日志、流水线状态、任务执行状态;
3. 任务面板还可以展示或下载执行任务产生的报告或制品;
4. 监控贯穿流水线构建每一个阶段。
(四)技术方案流程
综上,本发明采用的总体技术方案如图1所示,各模块作用如下:
前端页面负责提供人机交互界面,可进行如下操作:
1.流水线可视化编排;
2.项目流水线配置及初始化;
3.流水线操作(如启动、停止、删除等);
4.流水线监控;
5.制品展示与下载。
数据库服务器包含两种类型数据库,数据库服务器A代表关系型数据库,如MySQL;数据库服务器B代表非关系型数据库,如ES数据库。MySQL存储如下信息:
1.流水线任务、阶段与模板信息;
2.流水线配置信息;
3.流水线构建记录信息(包括同步流水线构建状态、时间等)。
ES数据库用来存储非结构化的日志信息;
Jenkins服务器用于创建执行持续集成与持续部署流水线,并负责推送制品(如War包、Docker镜像)到制品库;
制品库存放War包与Docker镜像。流水线任务将编译打包后的产物War包推入Nexus库,将构建镜像产生的Docker镜像推送Harbor镜像仓库中;
代码仓库Git存放项目源码,开发人员通过提交业务代码/或合并代码,触发集成流水线的构建;
后台服务程序作为整合各类资源的核心中枢,负责连接前端、Jenkins服务器、制品库与数据库服务器,其主要任务有接收前端请求、调用JenkinsAPI、响应结果的处理、执行定时任务(获取运行中流水线日志、同步流水线状态等)、更新与获取数据库信息、执行制品下载任务等。
本发明技术方案流程大致如下:数据服务器A(MySQL)存储组织级研发管理角色创建的流水线任务、阶段和模板信息;项目或产品团队根据自身项目需求,在前端选取流水线模板并进行流水线配置,初始化流水线后,后台服务程序一方面将配置信息存储在数据服务器A流水线配置表中,另一方面服务程序以配置信息为基础,调用JenkinsAPI,在Jenkins服务器中创建持续集成或持续部署流水线;当开发人员通过提交业务代码/合并代码,或在前端手动启动流水线操作,均可触发流水线构建;构建记录同步于数据服务器A的流水线记录表中,运行中日志信息同步于前端流水线详情页中,运行结束日志存储于数据服务器B(ES数据库)中,以供查看历史构建记录;流水线任务构建中产生的War包、Docker镜像等制品,经Jenkins服务器推送到制品库中,通过后台服务器处理,可在前端展示或下载。
此外,在流水线配置页,项目或产品团队可以选中后进行编辑,修改任务顺序、任务配置信息以及增加删除任务;可以选中历史版本进行查看具体配置信息,甚至回滚版本。
作为本发明的一个实施例1:公司内某软件产品A使用本发明建立CICD流水线的过程举例:
1)项目团队分析研发过程涉及的系统和工具,抽象并开发出组织级的流水线任务包括:准备任务、更新代码、单元测试、代码检测、编译打包、构建镜像、部署(部署环境分为开发环境、测试环境、预发布环境、生产环境)、制品晋级(晋级环境分为测试环境、预发布环境、生产环境)、自动化测试任务(包含接口、性能、界面三类自动化测试)、邮件通知、人工审批、自定义脚本。将以上不同的原子化任务类型注册到系统中;
2)设计流水线阶段模板,流水线阶段模板包含流水线阶段名称、固有流水线任务、通用任务的配置,如制品晋级阶段模板可包括制品晋级固有任务、人工审批任务等一种或多种通用任务;
3)根据流水线阶段模板,设计出软件产品A的持续集成流水线:开始-》更新代码-》单元测试-》代码检测-》编译打包-》构建镜像-》开发环境部署-》制品晋级-》测试环境部署-》自动化测试-》结束。
4)设计出软件产品A的持续部署流水线:开始-》更新代码-》制品晋级-》预发布环境部署-》自动化测试-》制品晋级-》生产环境部署-》结束。使用本发明的自由编排流水线功能,可将上述设计好的CICD流水线模板注册进系统。
5)软件产品A的团队新增流水线时,一方面要进行流水线的全局配置:如流水线名称、选取3)或4)中设计好的流水线模板、设置触发方式(手动触发/Webhook/轮询触发/定时触发)、设置流水线记录的清理策略、设置是否并发构建、设置是否参数化构建等;另一方面,各阶段可进行特异性的配置,如更新代码任务可指定拉取分支;单元测试任务可指定测试命令、测试工具与版本;代码检测任务可指定检测规则及质量门禁;编译打包任务可指定打包命令、使用工具及版本;构建镜像任务根据已配置的项目语言、中间件需求和依赖基础镜像等生成docker镜像;部署任务可指定部署规格及部署环境;制品晋级任务可指定晋级源环境和目标环境;自动化测试任务可指定自动化测试工具和入口;各阶段均可自由配置邮件通知等多种固有任务,如配置邮件通知任务,如任务失败可通过邮件、企业微信、短信等一种或多种方式告知通知对象;
6)流水线配置初始化后,软件产品A的流水线列表中会出现两条配置好的流水线,持续集成流水线会在每次更新代码后自动触发,持续部署流水线在制品提测后自动触发。
下面拿软件产品A的持续集成流水线为例来讲解流水线的执行情况:
1)第一个阶段更新代码:按照项目配置库信息通过Http协议拉取项目的最新代码。如果无法拉取成功拉取代码则任务失败,流水线失败;反之流水线继续执行。
2)第二个阶段单元测试:对拉取到的项目代码执行单元测试任务,并对单元测试覆盖率进行统计。单元测试不通过则任务失败,流水线失败;单元测试结果达不到门禁要求,则任务失败,流水线失败;反之流水线继续执行。
3)第三个阶段代码检测:对拉取到的项目代码执行静态代码检测任务,使用任务配置的规则进行扫描,结果与任务中设置的门禁进行比较,如果达不到门禁要求则任务失败,流水线失败;反之流水线继续执行。
4)第四个阶段编译打包:对项目源码执行编译打包命令,编译不通过或者无法打包则任务失败,流水线失败;反之流水线继续执行,并将产生War包推送至Nexus制品库;
5)第五个阶段构建镜像:软件产品A需要打包成镜像,则通过添加这个任务,根据配置识别项目的语言、中间件需求和依赖基础镜像等生成Docker镜像;构建镜像失败则任务失败,流水线失败;反之流水线继续执行,并将产生镜像推送至Harbor镜像仓库;
6)第六个阶段开发环境部署:开发环境提供给开发版本部署的环境。将上一阶段中产生的docker镜像推送到开发环境中进行部署,部署成功后开发人员可以在环境中自测验证功能的可用性。开发环境部署失败则任务失败;反之流水线继续执行;
7)第七个阶段制品晋级:将编译打包后的产物War包、Docker镜像制品晋级到测试环境,制品晋级失败则任务失败,流水线失败;反之流水线继续执行;
8)第八个阶段测试环境部署:部署测试环境中Docker镜像,部署成功后测试人员可以在测试中验证功能的可用性。测试环境部署失败则任务失败;反之流水线继续执行。
9)第九个阶段自动化测试:
10)上述1)~9)阶段均可通过流水线监控进行查看运行信息,排查问题。
软件产品A的团队通过使用本发明中配置的持续集成流水线可以对每次的代码提交进行测试、集成、上传制品以及开发、测试环境部署验证,及早集成并发现代码阶段问题,降低产品集成和发布的风险。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (7)

1.一种基于DevOps的自由编排监控系统,其特征在于,包括:
前端模块,用于提供人机交互界面;
数据库服务器,用于存储数据信息;
Jenkins服务器,用于创建执行持续集成与持续部署流水线,并推送制品到制品库;
制品库,用于存放War包与Docker镜像;
代码仓库,用于存放项目源码;
后台服务程序模块,用于整合资源的核心中枢,负责连接前端、Jenkins服务器、制品库与数据库服务器。
2.根据权利要求1所述的一种基于DevOps的自由编排监控系统,其特征在于:所述数据库服务器内包括数据库服务器A和数据库服务器B,数据库服务器A为MySQL数据库;数据库服务器B为ES数据库。
3.根据权利要求1所述的一种基于DevOps的自由编排监控方法,其特征在于,具体包括以下步骤,
步骤1:流水线模型定义;
步骤2:项目流水线配置与初始化;
步骤3:流水线监控。
4.根据权利要求3所述的一种基于DevOps的自由编排监控方法,其特征在于,所述步骤1具体包括以下步骤,
步骤1.1:对流水线任务模型进行定义,分析研发过程涉及的系统和工具,分解并抽象成原子任务,并且提取任务在不同项目中特异性的配置作为任务的参数,并在数据库服务器中创建流水线任务模板表,用于存储已创建的流水线任务信息;
步骤1.2:对流水线阶段模型进行定义,分析出研发过程中的活动设计出流水线阶段,并在数据库服务器创建流水线阶段模板表,用于存储已创建的流水线阶段信息;
步骤1.3:对流水线模板模型定义,对流水线模板中的模板名称、流水线阶段和流水线阶段顺序的定义,组织级研发管理角色可以通过流水线模型自由编排适合组织的持续集成持续部署流水线,并在数据库服务器中创建流水线模板表,用于存储已创建的流水线模板。
5.根据权利要求3所述的一种基于DevOps的自由编排监控方法,其特征在于,所述步骤2具体包括以下步骤,
步骤2.1:新建项目并配置项目信息;
步骤2.2:在步骤2.1创建的项目下新建流水线,并填写流水线的全局配置;
步骤2.3:再对流水线的流水线阶段进行任务配置,实现任务的自由编排;
步骤2.4:将流水线每一个阶段都填写完毕后可以保存项目的流水线信息,即初始化流水线:将已经保存的项目流水线配置信息存储在数据库服务器的流水线配置表中,后台服务程序模块以配置信息为基础,通过脚本代码生成器,将各任务转化为以Groovy语法编写的任务脚本,并调用JenkinsAPI,将任务脚本自动注入Jenkins服务器流水线中,创建持续集成持续部署流水线;
步骤2.5:初始化后,后台服务程序就绪,触发流水线执行;
步骤2.6:保存后的流水线配置可以选中后进行编辑,修改任务顺序、任务配置信息以及增加删除任务;流水线配置的每一次修改都分版本存储在数据库服务器建立的流水线配置表中,可以选中历史版本进行查看具体配置信息,支持版本回滚。
6.根据权利要求3所述的一种基于DevOps的自由编排监控方法,其特征在于,所述步骤3具体包括:后台服务程序模块通过定时任务调用JenkinsAPI,同步流水线状态,获取运行中流水线日志,经后台服务程序模块处理后,将运行状态与运行时间信息通过Websocket返回前端显示,日志、状态、时间信息存在数据库服务器建立的流水线记录表中。
7.根据权利要求4所述的一种基于DevOps的自由编排监控方法,其特征在于,所述原子任务包括固有流水线任务和通用任务。
CN202010755244.6A 2020-07-31 2020-07-31 一种基于DevOps的自由编排监控系统及其使用方法 Pending CN111930421A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010755244.6A CN111930421A (zh) 2020-07-31 2020-07-31 一种基于DevOps的自由编排监控系统及其使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010755244.6A CN111930421A (zh) 2020-07-31 2020-07-31 一种基于DevOps的自由编排监控系统及其使用方法

Publications (1)

Publication Number Publication Date
CN111930421A true CN111930421A (zh) 2020-11-13

Family

ID=73315636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010755244.6A Pending CN111930421A (zh) 2020-07-31 2020-07-31 一种基于DevOps的自由编排监控系统及其使用方法

Country Status (1)

Country Link
CN (1) CN111930421A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835681A (zh) * 2021-02-25 2021-05-25 北京顶象技术有限公司 前端脚本构建方法、装置和一种控制器
CN112860438A (zh) * 2021-02-23 2021-05-28 浪潮云信息技术股份公司 一种基于云平台的分布式DevOps运行方法
CN113064578A (zh) * 2021-03-17 2021-07-02 上海浦东发展银行股份有限公司 基于拖拽技术的应用编排方法、系统、设备及存储介质
CN113127368A (zh) * 2021-04-30 2021-07-16 中原银行股份有限公司 一种生成流水线的方法、系统和介质
CN113220951A (zh) * 2021-05-17 2021-08-06 鞠悦 一种基于智能内容的医学临床支持方法和系统
CN113313353A (zh) * 2021-04-26 2021-08-27 新华三大数据技术有限公司 一种持续交付流水线管理方法及装置
CN113434554A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 持续集成流水线的构建方法及装置
CN113641402A (zh) * 2021-08-30 2021-11-12 北京读我科技有限公司 一种任务编排和运行的实现方法及装置
CN114398115A (zh) * 2021-12-03 2022-04-26 光控特斯联(重庆)信息技术有限公司 可视化流水线生成方法和装置、存储介质及电子设备
CN114661362A (zh) * 2022-03-01 2022-06-24 深圳开源互联网安全技术有限公司 一种基于DevSecOps的流水线实现方法和系统
CN115421847A (zh) * 2022-11-03 2022-12-02 江苏博云科技股份有限公司 支持多引擎的研发运维平台和cicd流水线的管理方法及设备
CN116107560A (zh) * 2023-04-12 2023-05-12 昆仑数智科技有限责任公司 基于DevOps的流水线编排方法、装置及系统
CN116521134A (zh) * 2023-03-13 2023-08-01 广州嘉为科技有限公司 在ci流水线执行过程中修改其参数的方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180364985A1 (en) * 2017-06-14 2018-12-20 International Business Machines Corporation Congnitive development of devops pipeline
CN109814879A (zh) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质
CN111080257A (zh) * 2019-12-17 2020-04-28 苏州博纳讯动软件有限公司 基于DevOps端到端在线研发管理的系统和方法
CN111399814A (zh) * 2020-03-09 2020-07-10 中国邮政储蓄银行股份有限公司 一种构建任务可视化编排方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180364985A1 (en) * 2017-06-14 2018-12-20 International Business Machines Corporation Congnitive development of devops pipeline
CN109814879A (zh) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质
CN111080257A (zh) * 2019-12-17 2020-04-28 苏州博纳讯动软件有限公司 基于DevOps端到端在线研发管理的系统和方法
CN111399814A (zh) * 2020-03-09 2020-07-10 中国邮政储蓄银行股份有限公司 一种构建任务可视化编排方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860438A (zh) * 2021-02-23 2021-05-28 浪潮云信息技术股份公司 一种基于云平台的分布式DevOps运行方法
CN112835681A (zh) * 2021-02-25 2021-05-25 北京顶象技术有限公司 前端脚本构建方法、装置和一种控制器
CN113064578A (zh) * 2021-03-17 2021-07-02 上海浦东发展银行股份有限公司 基于拖拽技术的应用编排方法、系统、设备及存储介质
CN113313353A (zh) * 2021-04-26 2021-08-27 新华三大数据技术有限公司 一种持续交付流水线管理方法及装置
CN113127368A (zh) * 2021-04-30 2021-07-16 中原银行股份有限公司 一种生成流水线的方法、系统和介质
CN113220951B (zh) * 2021-05-17 2023-08-22 鞠悦 一种基于智能内容的医学临床支持方法和系统
CN113220951A (zh) * 2021-05-17 2021-08-06 鞠悦 一种基于智能内容的医学临床支持方法和系统
CN113434554A (zh) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 持续集成流水线的构建方法及装置
CN113641402A (zh) * 2021-08-30 2021-11-12 北京读我科技有限公司 一种任务编排和运行的实现方法及装置
CN114398115A (zh) * 2021-12-03 2022-04-26 光控特斯联(重庆)信息技术有限公司 可视化流水线生成方法和装置、存储介质及电子设备
CN114661362A (zh) * 2022-03-01 2022-06-24 深圳开源互联网安全技术有限公司 一种基于DevSecOps的流水线实现方法和系统
CN114661362B (zh) * 2022-03-01 2023-11-03 深圳开源互联网安全技术有限公司 一种基于DevSecOps的流水线实现方法和系统
CN115421847A (zh) * 2022-11-03 2022-12-02 江苏博云科技股份有限公司 支持多引擎的研发运维平台和cicd流水线的管理方法及设备
CN116521134A (zh) * 2023-03-13 2023-08-01 广州嘉为科技有限公司 在ci流水线执行过程中修改其参数的方法、装置及介质
CN116107560A (zh) * 2023-04-12 2023-05-12 昆仑数智科技有限责任公司 基于DevOps的流水线编排方法、装置及系统

Similar Documents

Publication Publication Date Title
CN111930421A (zh) 一种基于DevOps的自由编排监控系统及其使用方法
US8984489B2 (en) Quality on submit process
US8386996B2 (en) Process extension wizard for coherent multi-dimensional business process models
EP1680741B1 (en) Testing tool for complex component based software systems
CN108388445B (zh) 一种基于“平台+应用”模式的持续集成方法
US20090006150A1 (en) Coherent multi-dimensional business process model
CN111309441A (zh) 一种基于Jenkins实现DevOps的微服务部署方法
JP2003518691A (ja) N層ソフトウェア・コンポーネント・アーキテクチャー・アプリケーションを作成する方法、システムおよびアーティクル
CN112965786A (zh) 一种基于容器化的持续集成和持续交付方法及装置
US20110137820A1 (en) Graphical model-based debugging for business processes
CN114489934A (zh) 一种基于容器的持续交付方法和装置
CN115422063A (zh) 一种低代码接口自动化系统、电子设备及存储介质
CN114237698A (zh) 基于GitLab和Harbor的自动化部署方法
Bartusevics et al. Models for implementation of software configuration management
CN115167972A (zh) 一种云原生平台集成方法及系统
KR101326985B1 (ko) 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치
CN108287720B (zh) 软件编译方法、装置、设备及存储介质
KR100994070B1 (ko) 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치
CN116774989A (zh) 一种软件构建发布装置的设计和实现方法、系统及终端
CN115061746A (zh) 基于Jenkins的车载网络控制器产品开发方法及系统
CN114610368A (zh) 一种平台工具链整合及维护方法、系统、设备和介质
CN111752554B (zh) 基于模型编排的多模型协作系统及方法
Pastrana-Pardo et al. Approach to the Best Practices in Software Development Based on DevOps and SCRUM Used in Very Small Entities
WO2022125992A1 (en) System and method for developing user interface applications
CN114115842A (zh) 一种GitLab流水线可视化配置方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination