CN113313353A - 一种持续交付流水线管理方法及装置 - Google Patents
一种持续交付流水线管理方法及装置 Download PDFInfo
- Publication number
- CN113313353A CN113313353A CN202110456366.XA CN202110456366A CN113313353A CN 113313353 A CN113313353 A CN 113313353A CN 202110456366 A CN202110456366 A CN 202110456366A CN 113313353 A CN113313353 A CN 113313353A
- Authority
- CN
- China
- Prior art keywords
- task
- continuous delivery
- execution
- pipeline
- tasks
- 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
Links
- 238000012384 transportation and delivery Methods 0.000 title claims abstract description 223
- 238000007726 management method Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000002085 persistent effect Effects 0.000 claims description 22
- 230000000007 visual effect Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000003032 molecular docking Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000011076 safety test Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Manufacturing & Machinery (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及项目集成技术领域,特别涉及一种持续交付流水线管理方法及装置。该方法应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述方法包括:构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;若监听到所述持续交付流水线执行命令,则基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
Description
技术领域
本申请涉及项目集成技术领域,特别涉及一种持续交付流水线管理方法及装置。
背景技术
在中大型IT研发组织中存在这样的场景,不同部门技术方向不同,为了提高各自的效率,使用的持续交付工具和流程也存在巨大的差异。例如桌面应用和硬件驱动开发应用团队仍然使用的传统的持续交付工具(Jenkins,Gitlab CI等);服务端团队采用最新的云原生和微服务技术,使用基于容器云的解决持续交付方案(Tekton,Knaive Build等);而开源组件贡献和维护团队则使用公有云上的持续交付服务(Github Actions,Travis CI等)。上述的复杂场景下,要在整个组织级别统一维护和管理这些环境是及其困难的。另外,持续交付流水线的数据是研发效率分析和量化管理的关键数据,而这些数据分散在了很多个独立的异构环境中,要进行统一采集、分析、度量也是巨大的挑战。此外传统持续交付工具难以水平扩展,对于中大型组织,通常需要多个独立的Jenkins服务按不同团队或不同任务类型对持续交付业务需求进行切分。
发明内容
本申请提供了一种持续交付流水线管理方法及装置,用以解决现有技术中存在的无法综合管理大规模持续交付场景下持续交付业务的问题。
第一方面,本申请提供了一种持续交付流水线管理方法,应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述方法包括:
构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;
若监听到所述持续交付流水线执行命令,则基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;
将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
可选地,构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则的步骤包括:
接收用户通过可视化编排工具输入的任务选择指令,确定持续交付流水线包括的各任务;
接收用户通过可视化编排工具输入的各任务的执行条件,定义所述各任务的执行规则。
可选地,各任务的执行规则至少包括执行所述各任务的时序关系,所述各任务的任务类型,执行所述各任务所需的持续交付工具;
所述各任务的类型包括:编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务。
可选地,所述方法还包括:
向各持续交付工具发送控制命令,其中,所述控制命令为取消执行指令、查询状态指令;
接收各持续交付工具基于接收到的控制命令反馈对应的数据,若所述控制命令为取消执行指令,则持续交付工具在接收到该控制命令时,取消当前执行的任务,并反馈结果;若所述控制命令为查询状态指令,则持续交付工具在接收到该控制命令时,获取并反馈运行日志。
可选地,所述方法还包括:
接收各持续交付工具反馈的任务执行结果;
若基于一个持续交付工具反馈的任务执行结果,确定当前执行的任务执行失败,且该任务为关键任务,则终止所述持续交付流水线包括的当前执行的各任务,结束所述持续交付流水线;
若基于各持续交付工具反馈的任务结果,确定所述持续交付流水线包括的各任务均已执行成功,则确定所述持续交付流水线已执行完成。
第二方面,本申请提供了一种持续交付流水线管理装置,应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述装置包括:
构建单元,用于构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;
确定单元,若监听到所述持续交付流水线执行命令,则所述确定单元用于基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;
发送单元,用于将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
可选地,构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则时,所述构建单元具体用于:
接收用户通过可视化编排工具输入的任务选择指令,确定持续交付流水线包括的各任务;
接收用户通过可视化编排工具输入的各任务的执行条件,定义所述各任务的执行规则。
可选地,各任务的执行规则至少包括执行所述各任务的时序关系,所述各任务的任务类型,执行所述各任务所需的持续交付工具;
所述各任务的类型包括:编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务。
可选地,所述装置还包括接收单元:
所述发送单元还用于向各持续交付工具发送控制命令,其中,所述控制命令为取消执行指令、查询状态指令;
所述接收单元,用于接收各持续交付工具基于接收到的控制命令反馈对应的数据,若所述控制命令为取消执行指令,则持续交付工具在接收到该控制命令时,取消当前执行的任务,并反馈结果;若所述控制命令为查询状态指令,则持续交付工具在接收到该控制命令时,获取并反馈运行日志。
可选地,所述装置还包括执行单元:
所述接收单元还用于,接收各持续交付工具反馈的任务执行结果;
若基于一个持续交付工具反馈的任务执行结果,确定当前执行的任务执行失败,且该任务为关键任务,则所述执行单元用于终止所述持续交付流水线包括的当前执行的各任务,结束所述持续交付流水线;
若基于各持续交付工具反馈的任务结果,确定所述持续交付流水线包括的各任务均已执行成功,则所述执行单元用于确定所述持续交付流水线已执行完成。
第三方面,本申请实施例提供一种持续交付流水线管理装置,该装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的持续交付流水线管理方法,应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述方法包括:构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;若监听到所述持续交付流水线执行命令,则基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
采用本申请实施例提供的持续交付流水线管理方法,流水线管理设备接入由多种不同类型的持续交付工具,可以作为一个集中式服务,负责所有元数据的收集和维护,并且可以水平扩展能够支持大规模的使用场景,解决了复杂研发组织中研发效率分析和量化管理的关键数据分散和杂乱,难以统一管理和展示的问题。流水线管理设备利用对接服务可以支持多种异构的持续交付工具和服务环境,能够充分利用各种不同的持续交付工具的优势满足不同的需求。流水线中编入的任务可以选择被调度到最适合的底层环境作执行。
进一步的,流水线管理设备支持底层持续交付环境灵活规划,并且易于扩展。根据组织的实际情况,可以为各个团队划分独立的底层运行环境,做到底层资源安全隔离。对于已经存在的环境,只需要安装对接服务就可以集成到流水线管理设备中来。从设计上提供了对新的任务类型和新的底层原生持续交付服务的扩展能力。要对接新的底层持续交付服务,只需要新实现一个对接服务即可。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种持续交付流水线管理方法的详细流程图;
图2为本申请实施例提供的一种持续交付流水线编排过程示意图;
图3为本申请实施例提供的一种持续交付流水线管理系统的结构示意图;
图4为本申请实施例提供的一种持续交付流水线管理装置的结构示意图;
图5为本申请实施例提供的另一种持续交付流水线管理装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种持续交付流水线管理方法的详细流程图,该方法应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,该方法包括以下步骤:9
步骤100:构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则。
具体的,本申请实施例中,在构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则时,一种较佳地实施方式为,接收用户通过可视化编排工具输入的任务选择指令,确定持续交付流水线包括的各任务;接收用户通过可视化编排工具输入的各任务的执行条件,定义所述各任务的执行规则。
也就是说,流水线管理设备提供了可视化的编排工具,用户/管理员可以通过可视化编排工具构建一条持续交付流水线,同时通过可视化编排工具定义该条持续交付流水线包括的各任务的执行条件规则。
本申请实施例中,各任务的执行规则至少包括执行所述各任务的时序关系,所述各任务的任务类型,执行所述各任务所需的持续交付工具;所述各任务的类型包括:编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务。
实际应用中,一条持续交付流水线本质就是将一组持续相关的任务进行组合编排,并严格设定这些任务的先后执行顺序和执行时机。流水线的定义过程也就是对流水线中包含的任务的选择和编排过程。流水线的定义格式指的就是表达这种任务时序组合的具体语法格式。持续交付流水线格式定义包含了如下概念:
阶段(Stage):组成一条流水线的多个时间跨度,阶段间有严格的时序关系,必须等到前一个阶段内的所有工作都执行完成之后,下一个阶段才会开始执行。
任务(Job):每个阶段内实际执行的工作内容,任务是独立调度和执行的单位。每个阶段内可以包含很多个不同类型的任务,同一个阶段内的任务可以并行执行也可以串行执行。本发明中已经实现了的多种常用的任务类型,包括编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务等。同时提供了自定义扩展任务类型的机制,使用者可以根据需要定义和封装特有的认证类型。
步骤(Step)):为了方便使用者开发自定义类型任务,持续交付流水线管理设备也提供了常用的任务步骤,使用者可以将这些步骤组合成一个独立业务功能的任务,例如完成编译构建功能的任务,通常需要如下的步骤组成:代码检出,安装依赖,执行构建命令,执行单元测命令,归档保存构建产物。
示例性的,参阅图2所示,为本申请实施例提供的一种持续交付流水线编排过程示意图,一条持续交付流水线可以包括构建阶段,开发验证阶段,集成验证阶段和发布阶段,其中,构建阶段可以包括构建任务,代码静态检查任务,应用包安全检查;开发验证阶段可以包括部署任务,自动化测试验证任务;集成验证阶段可以包括部署任务,自动化集成测试任务,安全测试任务,性能测试任务;发布阶段可以包括人工审批任务,生产环境部署升级。
步骤110:若监听到所述持续交付流水线执行命令,则基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具。
实际应用中,持续交付流水线管理设备可以包括流水线触发模块,流水线执行调度模块,其中,流水线触发模块监听到触发请求,启动一次流水线执行,根据触发时指定的构建参数和流水线的定义创建一次执行记录,并将执行记录加入到等待运行队列,流水线执行调度模块从等待队列接收到执行记录后解析流水线定义,计算出可以运行的任务及其实际应下发的运行环境,然后将任务定义和运行参数下发给对应环境的对接服务,该对应环境的对接服务即是指接入流水线管理设备的各持续交付工具。
本申请实施例中,流水线管理设备在监听到持续交付流水线执行命令时,首先,确定当前阶段所需执行的各目标任务,然后,根据各目标任务的执行条件,确定执行该目标任务所需的持续交付工具,最后,将该目标任务发送给对应的持续交付工具进行任务执行操作。
例如,假设流水线管理设备确定当前阶段需要执行的任务为任务1,任务2和任务3,根据任务1的执行条件确定执行任务1的持续交付工具为持续交付工具A,则可以将任务1发送至持续交付工具A,由持续交付工具A执行任务1,同理,根据任务2的执行条件确定执行任务2的持续交付工具为持续交付工具B,则可以将任务2发送至持续交付工具B,由持续交付工具B执行任务2,根据任务3的执行条件确定执行任务3的持续交付工具为持续交付工具C,则可以将任务3发送至持续交付工具C,由持续交付工具C执行任务3。
步骤120:将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
具体的,各持续交付工具会监听流水线管理设备下发的目标任务,将通用任务定义和执行数据转换成目标持续交付系统原生任务定义,控制原生任务定义在目标持续交付环境运行过程。还可以与流水线管理设备通信,接收并执行取消执行、状态查询等控制操作,在目标任务执行过程中,将产生的日志、事件等数据采集并上报给流水线管理设备。
进一步的,本申请实施例中,持续交付流水线管理方法还包括以下步骤:
向各持续交付工具发送控制命令,其中,所述控制命令为取消执行指令、查询状态指令;接收各持续交付工具基于接收到的控制命令反馈对应的数据,若所述控制命令为取消执行指令,则持续交付工具在接收到该控制命令时,取消当前执行的任务,并反馈结果;若所述控制命令为查询状态指令,则持续交付工具在接收到该控制命令时,获取并反馈运行日志。
也就是说,在持续交付工具执行任务的过程中,流水线管理设备可以根据用户输入的指令向各持续交付工具下发控制命令,如取消执行当前任务的命令,任务执行状态查询命令等。持续交付工具在接收到流水线管理设备下发的控制命令后,执行接收到的控制命令,并反馈执行结果。
更进一步的,本申请实施例中,持续交付流水线管理方法还包括以下步骤:
接收各持续交付工具反馈的任务执行结果;若基于一个持续交付工具反馈的任务执行结果,确定当前执行的任务执行失败,且该任务为关键任务,则终止所述持续交付流水线包括的当前执行的各任务,结束所述持续交付流水线;若基于各持续交付工具反馈的任务结果,确定所述持续交付流水线包括的各任务均已执行成功,则确定所述持续交付流水线已执行完成。
也就是说,若确定一个关键任务执行失败,则流水线管理设备可以基于预设规则执行后续操作,若预设规则为关键任务执行失败,终止当前执行的各任务,则此时就需要向各持续交付工具发出终止当前任务的命令。由于各持续交付工具在执行任务的过程中,会向流水线管理设备反馈执行过程/执行结果,那么,当流水线管理设备确定当前阶段的一个任务执行成功后,判断是否存在该一个任务的后续任务,若存在,且该后续任务满足执行条件,则继续调度该后续任务执行,若不存在,则判断当前阶段的所有任务是否执行完成,若完成,则执行下一阶段的任务,若当前阶段为最后阶段,则确定对应持续交付流水线所有任务均已执行完成,结束该持续交付流水线。
下面结合具体场景对本申请实施例提供的持续交付流水线管理系统进行详细说明,示例性的,参阅图3所示,为本申请实施例提供的一种持续交付流水线管理系统的结构示意图,其中,各持续交付工具可以为Kubernetes对接服务,Jenkins对接插件,其他持续交付工具;流水线管理设备可以包括以下功能属性:通用流水线编排定义和解析,流水线可视化编排工具,多种类型自触发管理,调度控制和状态管理,报告、度量数据收集和管理,执行日志、时间采集和管理,任务执行环境发现管理,任务类型和对接环境可扩展,流水线管理设备并不直接负责任务的具体执行,而是通过适配器的方式,执行流水线各任务的管理调度,由接入流水线管理设备的各持续交付工具完成对各任务的具体执行。
示例性的,参阅图4所示,为本申请实施例提供的一种持续交付流水线管理装置的结构示意图,该装置应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述装置包括:
构建单元40,用于构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;
确定单元41,若监听到所述持续交付流水线执行命令,则所述确定单元用于基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;
发送单元42,用于将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
可选地,构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则时,所述构建单元40具体用于:
接收用户通过可视化编排工具输入的任务选择指令,确定持续交付流水线包括的各任务;
接收用户通过可视化编排工具输入的各任务的执行条件,定义所述各任务的执行规则。
可选地,各任务的执行规则至少包括执行所述各任务的时序关系,所述各任务的任务类型,执行所述各任务所需的持续交付工具;
所述各任务的类型包括:编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务。
可选地,所述装置还包括接收单元:
所述发送单元42还用于向各持续交付工具发送控制命令,其中,所述控制命令为取消执行指令、查询状态指令;
所述接收单元,用于接收各持续交付工具基于接收到的控制命令反馈对应的数据,若所述控制命令为取消执行指令,则持续交付工具在接收到该控制命令时,取消当前执行的任务,并反馈结果;若所述控制命令为查询状态指令,则持续交付工具在接收到该控制命令时,获取并反馈运行日志。
可选地,所述装置还包括执行单元:
所述接收单元还用于,接收各持续交付工具反馈的任务执行结果;
若基于一个持续交付工具反馈的任务执行结果,确定当前执行的任务执行失败,且该任务为关键任务,则所述执行单元用于终止所述持续交付流水线包括的当前执行的各任务,结束所述持续交付流水线;
若基于各持续交付工具反馈的任务结果,确定所述持续交付流水线包括的各任务均已执行成功,则所述执行单元用于确定所述持续交付流水线已执行完成。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的持续交付流水线管理装置,从硬件层面而言,所述持续交付流水线管理装置的硬件架构示意图可以参见图5所示,所述持续交付流水线管理装置可以包括:存储器50和处理器51,
存储器50用于存储程序指令;处理器51调用存储器50中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种流水线管理设备,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种持续交付流水线管理方法,其特征在于,应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述方法包括:
构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;
若监听到所述持续交付流水线执行命令,则基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;
将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
2.如权利要求1所述的方法,其特征在于,构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则的步骤包括:
接收用户通过可视化编排工具输入的任务选择指令,确定持续交付流水线包括的各任务;
接收用户通过可视化编排工具输入的各任务的执行条件,定义所述各任务的执行规则。
3.如权利要求1或2所述的方法,其特征在于,各任务的执行规则至少包括执行所述各任务的时序关系,所述各任务的任务类型,执行所述各任务所需的持续交付工具;
所述各任务的类型包括:编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务。
4.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
向各持续交付工具发送控制命令,其中,所述控制命令为取消执行指令、查询状态指令;
接收各持续交付工具基于接收到的控制命令反馈对应的数据,若所述控制命令为取消执行指令,则持续交付工具在接收到该控制命令时,取消当前执行的任务,并反馈结果;若所述控制命令为查询状态指令,则持续交付工具在接收到该控制命令时,获取并反馈运行日志。
5.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收各持续交付工具反馈的任务执行结果;
若基于一个持续交付工具反馈的任务执行结果,确定当前执行的任务执行失败,且该任务为关键任务,则终止所述持续交付流水线包括的当前执行的各任务,结束所述持续交付流水线;
若基于各持续交付工具反馈的任务结果,确定所述持续交付流水线包括的各任务均已执行成功,则确定所述持续交付流水线已执行完成。
6.一种持续交付流水线管理装置,其特征在于,应用于流水线管理设备,所述流水线管理设备对接有若干持续交付工具,所述装置包括:
构建单元,用于构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则;
确定单元,若监听到所述持续交付流水线执行命令,则所述确定单元用于基于所述各任务的执行规则,确定出当前阶段需执行的各目标任务和执行所述各目标任务分别对应的持续交付工具;
发送单元,用于将所述各目标任务分别发送至对应的持续交付工具,以使得持续交付工具执行其接收到的目标任务。
7.如权利要求6所述的装置,其特征在于,构建持续交付流水线,并定义所述持续交付流水线包括的各任务的执行规则时,所述构建单元具体用于:
接收用户通过可视化编排工具输入的任务选择指令,确定持续交付流水线包括的各任务;
接收用户通过可视化编排工具输入的各任务的执行条件,定义所述各任务的执行规则。
8.如权利要求6或7所述的装置,其特征在于,各任务的执行规则至少包括执行所述各任务的时序关系,所述各任务的任务类型,执行所述各任务所需的持续交付工具;
所述各任务的类型包括:编译构建任务,部署升级任务,代码检查任务,自动化测试任务,人工审核任务。
9.如权利要求6或7所述的装置,其特征在于,所述装置还包括接收单元:
所述发送单元还用于向各持续交付工具发送控制命令,其中,所述控制命令为取消执行指令、查询状态指令;
所述接收单元,用于接收各持续交付工具基于接收到的控制命令反馈对应的数据,若所述控制命令为取消执行指令,则持续交付工具在接收到该控制命令时,取消当前执行的任务,并反馈结果;若所述控制命令为查询状态指令,则持续交付工具在接收到该控制命令时,获取并反馈运行日志。
10.如权利要求6或7所述的装置,其特征在于,所述装置还包括执行单元:
所述接收单元还用于,接收各持续交付工具反馈的任务执行结果;
若基于一个持续交付工具反馈的任务执行结果,确定当前执行的任务执行失败,且该任务为关键任务,则所述执行单元用于终止所述持续交付流水线包括的当前执行的各任务,结束所述持续交付流水线;
若基于各持续交付工具反馈的任务结果,确定所述持续交付流水线包括的各任务均已执行成功,则所述执行单元用于确定所述持续交付流水线已执行完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456366.XA CN113313353A (zh) | 2021-04-26 | 2021-04-26 | 一种持续交付流水线管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456366.XA CN113313353A (zh) | 2021-04-26 | 2021-04-26 | 一种持续交付流水线管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113313353A true CN113313353A (zh) | 2021-08-27 |
Family
ID=77371166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110456366.XA Pending CN113313353A (zh) | 2021-04-26 | 2021-04-26 | 一种持续交付流水线管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313353A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003343A (zh) * | 2021-11-02 | 2022-02-01 | 国网信息通信产业集团有限公司 | 云原生应用构建方法、装置及计算机设备 |
CN115421847A (zh) * | 2022-11-03 | 2022-12-02 | 江苏博云科技股份有限公司 | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 |
CN116431275A (zh) * | 2023-02-16 | 2023-07-14 | 广州钛动科技股份有限公司 | 容忍配置方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6966061B1 (en) * | 2001-09-20 | 2005-11-15 | Bellsouth Intellectual Property Corp. | System and method for managing initiative delivery process |
CN109783090A (zh) * | 2019-01-18 | 2019-05-21 | 成都宝瓜科技有限公司 | 一种用于持续交付的可视化方法、装置和服务器 |
CN111399814A (zh) * | 2020-03-09 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 一种构建任务可视化编排方法及装置 |
CN111443940A (zh) * | 2020-05-08 | 2020-07-24 | 南京大学 | 一种基于DevOps的完整软件生命周期管理方法及平台 |
CN111930421A (zh) * | 2020-07-31 | 2020-11-13 | 中电鸿信信息科技有限公司 | 一种基于DevOps的自由编排监控系统及其使用方法 |
-
2021
- 2021-04-26 CN CN202110456366.XA patent/CN113313353A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6966061B1 (en) * | 2001-09-20 | 2005-11-15 | Bellsouth Intellectual Property Corp. | System and method for managing initiative delivery process |
CN109783090A (zh) * | 2019-01-18 | 2019-05-21 | 成都宝瓜科技有限公司 | 一种用于持续交付的可视化方法、装置和服务器 |
CN111399814A (zh) * | 2020-03-09 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 一种构建任务可视化编排方法及装置 |
CN111443940A (zh) * | 2020-05-08 | 2020-07-24 | 南京大学 | 一种基于DevOps的完整软件生命周期管理方法及平台 |
CN111930421A (zh) * | 2020-07-31 | 2020-11-13 | 中电鸿信信息科技有限公司 | 一种基于DevOps的自由编排监控系统及其使用方法 |
Non-Patent Citations (2)
Title |
---|
李煜超: "基于PMD和Jacoco的代码分析系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王俊等: "基于流水线理念持续集成与持续交付平台的设计与实现", 《软件工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003343A (zh) * | 2021-11-02 | 2022-02-01 | 国网信息通信产业集团有限公司 | 云原生应用构建方法、装置及计算机设备 |
CN115421847A (zh) * | 2022-11-03 | 2022-12-02 | 江苏博云科技股份有限公司 | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 |
CN116431275A (zh) * | 2023-02-16 | 2023-07-14 | 广州钛动科技股份有限公司 | 容忍配置方法、装置、计算机设备和存储介质 |
CN116431275B (zh) * | 2023-02-16 | 2024-01-19 | 广州钛动科技股份有限公司 | 容忍配置方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824948B2 (en) | Decision tables and flow engine for building automated flows within a cloud based development platform | |
CA3022462C (en) | Systems and methods for private cloud computing | |
US9342364B2 (en) | Workflow managed composite applications | |
CN101411123B (zh) | 用于分布式数据处理系统端点上的集中式系统管理的方法、系统和计算机程序 | |
EP4046017A1 (en) | Systems and methods for cross-platform scheduling and workload automation | |
US9910654B1 (en) | Extensible software release management automation service | |
US20180324051A1 (en) | User interface for automated flows within a cloud based developmental platform | |
CN113313353A (zh) | 一种持续交付流水线管理方法及装置 | |
US10101972B1 (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
AU2017236024B2 (en) | Flow engine for building automated flows within a cloud based development platform | |
US8959518B2 (en) | Window-based scheduling using a key-value data store | |
CA3017085C (en) | Data modelling and flow engine for building automated flows within a cloud based developmental platform | |
US20190294470A1 (en) | Multilayered resource scheduling | |
US11086696B2 (en) | Parallel cloned workflow execution | |
US9934016B1 (en) | Extensible software release management automation service | |
US20180082228A1 (en) | Digital project management office | |
EP3680775A1 (en) | Managing metadata for a distributed processing system | |
US8645957B2 (en) | Optimized datacenter management by centralized task execution through dependency inversion | |
US11068487B2 (en) | Event-stream searching using compiled rule patterns | |
US10521272B1 (en) | Testing in grid computing systems | |
CN114006815A (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
CN107832162B (zh) | 远程调用ModelCenter软件实现多学科设计优化的方法 | |
US11928627B2 (en) | Workflow manager | |
CN114116679A (zh) | 一种多数据库环境运维方法及系统 | |
US20230315517A1 (en) | Central randomized scheduler for hypothesis-based workloads |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210827 |