CN114489999A - 流水线任务的处理方法和装置、处理器及电子设备 - Google Patents

流水线任务的处理方法和装置、处理器及电子设备 Download PDF

Info

Publication number
CN114489999A
CN114489999A CN202210143561.1A CN202210143561A CN114489999A CN 114489999 A CN114489999 A CN 114489999A CN 202210143561 A CN202210143561 A CN 202210143561A CN 114489999 A CN114489999 A CN 114489999A
Authority
CN
China
Prior art keywords
target
task
execution
pipeline task
stage
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
CN202210143561.1A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210143561.1A priority Critical patent/CN114489999A/zh
Publication of CN114489999A publication Critical patent/CN114489999A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种流水线任务的处理方法和装置、处理器及电子设备,涉及金融科技领域。该方法包括:获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务;对目标模板进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系;依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息;运行目标执行文本,以执行目标流水线任务。通过本申请,解决了相关技术中只能根据现有模板进行固定的流程操作,导致流水线任务的执行效率比较低的问题。

Description

流水线任务的处理方法和装置、处理器及电子设备
技术领域
本申请涉及金融科技领域,具体而言,涉及一种流水线任务的处理方法和装置、处理器及电子设备。
背景技术
为了满足用户快速实现持续交付的功能,现有一种开发者门户系统,该门户系统包括代码托管、构建、部署、交付、代码检查等功能。但是在开发者门户系统中,用户只能选择门户上现有的系统模板进行流水线任务的执行。并且如果想在已实现该流水线任务的基础上增加新的或删除旧的阶段任务,只能根据系统模板重新建立一条流水线任务,整个操作过程比较繁琐,并且耗时又耗力。
针对相关技术中只能根据现有模板进行固定的流程操作,导致流水线任务的执行效率比较低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种流水线任务的处理方法和装置、处理器及电子设备,以解决相关技术中只能根据现有模板进行固定的流程操作,导致流水线任务的执行效率比较低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种流水线任务的处理方法。该方法包括:获取预设流水线任务的目标模板,其中,所述目标模板中包括多个阶段任务;对所述目标模板进行处理,生成目标流水线任务,其中,所述目标流水线任务至少包括:多个待执行的阶段任务,所述多个待执行阶段任务之间的层次关系和所述多个待执行的阶段任务之间的顺序关系;依据所述目标流水线任务对配置信息进行处理,得到目标执行文本,其中,所述配置信息是所述多个阶段任务中部分或全部阶段任务的配置信息;运行所述目标执行文本,以执行所述目标流水线任务。
进一步地,对所述目标模板进行处理,生成目标流水线任务包括:若检测到对所述多个阶段任务中目标阶段任务一的删除操作;响应所述删除操作,对所述目标阶段任务一进行删除处理,得到所述目标流水线任务。
进一步地,对所述目标模板进行处理,生成目标流水线任务包括:若检测到在所述多个阶段任务中存在新增目标阶段任务二的新增操作;响应所述新增操作,在多个阶段任务中新增所述目标阶段任务二,得到所述目标流水线任务。
进一步地,对所述目标模板进行处理,生成目标流水线任务还包括:对所述目标流水线任务进行命名,得到所述目标流水线任务的识别ID。
进一步地,在依据所述目标流水线任务对配置信息进行处理,得到目标执行文本之前,所述方法还包括:设置所述目标流水线任务中每个阶段任务的配置信息,并将所述配置信息和所述识别ID保存至目标数据库。
进一步地,在依据所述目标流水线任务对所述配置信息进行处理,得到目标执行文本之前,所述方法还包括:获取所述目标流水线任务的执行信号和所述目标流水线任务的识别ID,其中,所述执行信号至少包括:待执行的阶段任务和所述待执行的阶段任务的标识信息;依据所述识别ID和所述标识信息,从所述目标数据库中获取所述待执行的阶段任务的配置信息。
进一步地,依据所述目标流水线任务对所述配置信息进行处理,得到目标执行文本包括:对所述待执行的阶段任务和所述配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;依据所述待执行的阶段任务的层次关系和所述待执行的阶段任务的顺序关系,将所述执行脚本进行拼接处理,得到所述目标执行文本。
进一步地,运行所述目标执行文本,以执行所述目标流水线任务,包括:通过预设协议获取所述目标流水线任务的执行状态,并将所述执行状态反馈至目标对象,其中,所述执行状态为以下之一:执行中,执行成功和执行失败。
进一步地,在运行所述目标执行文本,以执行所述目标流水线任务之后,所述方法还包括:若所述目标流水线任务的执行状态为执行失败,则根据所述目标流水线任务的运行日志获取执行失败的原因;依据所述原因进行修复处理之后,继续执行所述目标流水线任务,直到所述目标流水线任务的执行状态变更为执行成功。
为了实现上述目的,根据本申请的另一方面,提供了一种流水线任务的处理装置。该装置包括:第一获取单元,用于获取预设流水线任务的目标模板,其中,所述目标模板中包括多个阶段任务;第一处理单元,用于对所述目标模板进行处理,生成目标流水线任务,其中,所述目标流水线任务至少包括:多个待执行的阶段任务,所述多个待执行阶段任务之间的层次关系和所述多个待执行的阶段任务之间的顺序关系;第二处理单元,用于依据所述目标流水线任务对配置信息进行处理,得到目标执行文本,其中,所述配置信息是所述多个阶段任务中部分或全部阶段任务的配置信息;运行单元,用于运行所述目标执行文本,以执行所述目标流水线任务。
进一步地,所述第一处理单元包括:第一检测模块,用于若检测到对所述多个阶段任务中目标阶段任务一的删除操作;第一处理模块,用于响应所述删除操作,对所述目标阶段任务一进行删除处理,得到所述目标流水线任务。
进一步地,所述第一处理单元还包括:第一检测模块,用于若检测到在所述多个阶段任务中存在新增目标阶段任务二的新增操作;第二处理模块,用于响应所述新增操作,在多个阶段任务中新增所述目标阶段任务二,得到所述目标流水线任务。
进一步地,所述第一处理单元还包括:命名模块,用于对所述目标流水线任务进行命名,得到所述目标流水线任务的识别ID。
进一步地,所述装置还包括:设置单元在依据所述目标流水线任务对配置信息进行处理,得到目标执行文本之前,设置所述目标流水线任务中每个阶段任务的配置信息,并将所述配置信息和所述识别ID保存至目标数据库。
进一步地,所述装置还包括:第二获取单元,用于在依据所述目标流水线任务对所述配置信息进行处理,得到目标执行文本之前,获取所述目标流水线任务的执行信号和所述目标流水线任务的识别ID,其中,所述执行信号至少包括:待执行的阶段任务和所述待执行的阶段任务的标识信息;第三获取单元,用于依据所述识别ID和所述标识信息,从所述目标数据库中获取所述待执行的阶段任务的配置信息。
进一步地,所述第二处理单元包括:第三处理模块,用于对所述待执行的阶段任务和所述配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;第四处理模块,用于依据所述待执行的阶段任务的层次关系和所述待执行的阶段任务的顺序关系,将所述执行脚本进行拼接处理,得到所述目标执行文本。
进一步地,所述运行单元包括:通过预设协议获取所述目标流水线任务的执行状态,并将所述执行状态反馈至目标对象,其中,所述执行状态为以下之一:执行中,执行成功和执行失败。
进一步地,所述装置还包括:第四获取单元,用于在运行所述目标执行文本,以执行所述目标流水线任务之后,若所述目标流水线任务的执行状态为执行失败,则根据所述目标流水线任务的运行日志获取执行失败的原因;执行单元,用于依据所述原因进行修复处理之后,继续执行所述目标流水线任务,直到所述目标流水线任务的执行状态变更为执行成功。
为了实现上述目的,根据本申请的一个方面,提供了一种处理器,处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的流水线任务的处理方法。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个处理器实现上述任意一项的流水线任务的处理方法。
通过本申请,采用以下步骤:获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务;对目标模板进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系;依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息;运行目标执行文本,以执行目标流水线任务,解决了相关技术中只能根据现有模板进行固定的流程操作,导致流水线任务的执行效率比较低的问题。通过获取预设流水线任务的目标模板,对目标模板进行处理,快速生成目标流水线任务;然后对目标流水线任务中阶段任务的配置信息进行处理,得到目标执行文本,运行目标执行文本以执行目标流水线任务,进而达到了提高流水线任务的执行效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的流水线任务的处理方法的流程图;
图2是根据本申请实施例提供的可选的流水线任务的处理方法的流程图;
图3是根据本申请实施例提供的流水线任务的处理装置的示意图;
图4是根据本申请实施例提供的可选的流水线任务的处理系统的示意图;
图5是根据本申请实施例提供的电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的流水线任务的处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务。
具体地,用户根据需求选择预设流水线任务的模板,其中,模板可以是系统模板,也可以是已执行过的流水线任务模板。在模板中包括多个阶段任务。
步骤S102,对目标模板进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系。
具体地,确定用户选择的目标模板后,对目标模板进行处理,得到目标流水线任务。对于目标模板中的阶段任务可以进行新增和删减,以及设置待执行阶段任务之间的层次关系和顺序关系。同时需要对目标流水线任务进行命名和设置每个阶段任务的配置信息,配置信息会直接存储到目标数据库中。在生成目标流水线任务后,用户可以根据实际需求勾选要执行的阶段任务,可以只选择部分阶段任务,然后进行目标流水线任务的触发。
步骤S103,依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息。
具体地,获取到目标流水线任务被触发的信号后,根据目标流水线任务对待执行阶段任务的配置信息进行处理,得到目标执行文本,通过运行目标执行文本实现目标流水线任务的执行工作。
步骤S104,运行目标执行文本,以执行目标流水线任务。
综上所述,通过获取预设流水线任务的目标模板,对目标模板进行处理,快速生成目标流水线任务;然后对目标流水线任务中阶段任务的配置信息进行处理,得到目标执行文本,运行目标执行文本以执行目标流水线任务,提高了流水线任务的执行效率。
需要说明的是,预设流水线任务的模板,也可以是自定义模板,用户可以按照实际需求设计模板中的阶段任务。
可选地,在本申请实施例提供的流水线任务的处理方法中,对目标模板进行处理,生成目标流水线任务包括:若检测到对多个阶段任务中目标阶段任务一的删除操作;响应删除操作,对目标阶段任务一进行删除处理,得到目标流水线任务。
具体地,检测到用户对目标阶段任务一的删除操作时,响应删除操作,将目标模板中的目标阶段任务一删除,得到目标流水线任务。根据用户的实际需求可以直接对目标模板中的阶段任务进行删除操作,避免建立新的流水线任务,提高了获取目标流水线任务的效率。
可选地,在本申请实施例提供的流水线任务的处理方法中,对目标模板进行处理,生成目标流水线任务包括:若检测到在多个阶段任务中存在新增目标阶段任务二的新增操作;响应新增操作,在多个阶段任务中新增目标阶段任务二,得到目标流水线任务。
具体地,检测到用户对目标阶段任务二的新增操作时,响应新增操作,在目标模板中新增目标阶段任务二,得到目标流水线任务。根据用户的实际需求可以直接在目标模板中新增阶段任务,避免建立新的流水线任务,提高了获取目标流水线任务的效率。
可选地,在本申请实施例提供的流水线任务的处理方法中,对目标模板进行处理,生成目标流水线任务还包括:对目标流水线任务进行命名,得到目标流水线的识别ID。
具体地,需要对目标流水线任务进行命名工作,得到目标流水线的识别ID,以便后续通过识别ID查询到目标流水线任务。
可选地,在本申请实施例提供的流水线任务的处理方法中,在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,该方法还包括:设置目标流水线任务中每个阶段任务的配置信息,并将配置信息和识别ID保存至目标数据库。
具体地,对于目标流水线任务的每个阶段任务进行配置信息的设置,并将配置信息和目标流水线任务的识别ID存储到目标数据库库中,便于后续执行目标流水线任务时调用上述配置信息。
可选地,在本申请实施例提供的流水线任务的处理方法中,在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,该方法还包括:获取目标流水线任务的执行信号和目标流水线的识别ID,其中,执行信号至少包括:待执行的阶段任务和待执行的阶段任务的标识信息;依据识别ID和标识信息,从目标数据库中获取待执行的阶段任务的配置信息。
具体地,可以通过后端服务器实现对配置信息的处理工作,后端服务器获取到目标目标流水线任务的执行信号和目标流水线的识别ID。后端服务器通过识别ID和待执行的阶段任务的标识信息,从目标数据库中得到待执行的阶段任务的配置信息。后端服务器只需要获取待执行的阶段任务的配置信息,避免了占用过度的资源空间,提高了处理效率。
可选地,在本申请实施例提供的流水线任务的处理方法中,依据目标流水线任务对配置信息进行处理,得到目标执行文本包括:对待执行的阶段任务和配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;依据待执行的阶段任务的层次关系和待执行的阶段任务的顺序关系,将执行脚本进行拼接处理,得到目标执行文本。
具体地,后端服务器对待执行的阶段任务和配置信息进行解耦,使得每个待执行的阶段任务独立,得到每个待执行的阶段任务对应的执行脚本;然后根据待执行的阶段任务的层次关系和待执行的阶段任务的顺序关系将上述执行脚本拼接起来,得到目标执行脚本。通过上述操作,可以快速得到目标执行脚本,进而提高了目标流水线任务的执行效率。
可选地,在本申请实施例提供的流水线任务的处理方法中,运行目标执行文本,以执行目标流水线任务,包括:通过预设协议获取目标流水线任务的执行状态,并将执行状态反馈至目标对象,其中,执行状态为以下之一:执行中,执行成功和执行失败。
具体地,可以通过Jenkins持续集成平台运行目标执行文本。持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行,通常与版本管理工具(SCM)、构建工具结合使用。在目标流水线任务的执行过程中,后端服务器可以通过WebSocket协议(对应上述的预设协议)实时获取目标流水线任务在Jenkins持续集成平台上执行的情况,并将执行状态通过后端服务器反馈给目标对象(例如,目标用户)。通过上述步骤,用户可以实时查询得到目标流水线任务的执行状态,便于后续调整目标流水线任务。
可选地,在本申请实施例提供的流水线任务的处理方法中,在运行目标执行文本,以执行目标流水线任务之后,该方法还包括:若目标流水线任务的执行状态为执行失败,则根据目标流水线任务的运行日志获取执行失败的原因;依据原因进行修复处理之后,继续执行目标流水线任务,直到目标流水线任务的执行状态变更为执行成功。
具体地,如果目标流水线任务执行失败,根据运行日志查看执行失败的原因并进行修复处理,重新执行目标流水线任务,直到目标流水线任务执行成功。
例如,当用户需要并行执行构建部署和代码检查这两个阶段任务时,可以在预设流水线模板选择一个包含构建部署和代码检查的目标模板,或者直接通过自定义模板,建立流水线任务。然后将各阶段任务的配置信息都配置好,并进行保存。当配置信息都配置好后,执行流水线任务。查看流水线任务的执行情况,如果流水线任务执行失败,根据运行日志查看失败原因并进行修复,重新执行流水线任务,直到流水线任务执行成功。那么当用户想在该流水线任务的基础上只进行代码检查的话,可将构建部署这一阶段任务进行删除,或者想在此流水线任务的基础上再执行发布这一阶段任务的话,只需在此流水线任务的基础上新增发布这一阶段任务,并配置相关的配置信息即可。上述过程,体现了构建流水线任务的灵活性,节省了开发和运维的时间。
本申请实施例提供的流水线任务的处理方法,通过获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务;对目标模板进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系;依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息;运行目标执行文本,以执行目标流水线任务,解决了相关技术中只能根据现有模板进行固定的流程操作,导致流水线任务的执行效率比较低的问题。通过获取预设流水线任务的目标模板,对目标模板进行处理,快速生成目标流水线任务;然后对目标流水线任务中阶段任务的配置信息进行处理,得到目标执行文本,运行目标执行文本以执行目标流水线任务,进而达到了提高流水线任务的执行效率的效果。
图2是根据本申请实施例提供的可选的流水线任务的处理方法的流程图,用户创建流水线任务时,可以选择系统模板,也可以选择已执行过的流水线任务模板以及自定义模板。上述模板均支持用户根据实际需求情况进行阶段任务的增加和删除功能。用户选择好流水线模板后,需要对流水线任务命名、设置阶段任务以及设置阶段任务的配置信息,配置信息会同步存储到目标数据库中;用户配置好流水线任务的所有信息后,勾选要执行的阶段任务,可以只选择部分阶段任务,然后触发流水线任务。
后端服务器获取到流水线任务的执行信号后,根据当前流水线任务的识别ID以及待执行的阶段任务的标识信息,从目标数据库中获取待执行的阶段任务的配置信息,对每个阶段任务进行解耦,得到每个阶段任务对应的执行脚本。根据待执行阶段任务的层次关系以及顺序关系将执行脚本进行拼接组合,生成一个Jenkins持续集成平台支持的目标执行文本,以供Jenkins持续集成平台进行流水线任务的执行。
后端服务器通过WebSocket协议实时获取流水线任务在Jenkins持续集成平台上执行的情况,并将执行状态通过后端服务器反馈给用户,用户可以查看当前流水线任务的执行状态。当流水线任务在Jenkins持续集成平台执行结束时,完成信号反馈给后端服务器,后端服务器告知用户。如果流水线任务执行失败,用户根据运行日志查看执行失败的原因并进行修复处理,重新执行该流水线任务,直到流水线任务执行成功。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种流水线任务的处理装置,需要说明的是,本申请实施例的流水线任务的处理装置可以用于执行本申请实施例所提供的用于流水线任务的处理方法。以下对本申请实施例提供的流水线任务的处理装置进行介绍。
图3是根据本申请实施例的流水线任务的处理装置的示意图。如图3所示,该装置包括:第一获取单元301,第一处理单元302,第二处理单元303和运行单元304。
第一获取单元301,用于获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务。
第一处理单元302,用于对目标模版进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系。
第二处理单元303,用于依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息。
运行单元304,用于运行目标执行文本,以执行目标流水线任务。
本申请实施例提供的流水线任务的处理装置,通过第一获取单元301获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务;第一处理单元302对目标模版进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系;第二处理单元303依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息;运行单元用于运行目标执行文本,以执行目标流水线任务,解决了相关技术中只能根据现有模板进行固定的流程操作,导致流水线任务的执行效率比较低的问题。通过获取预设流水线任务的目标模板,对目标模板进行处理,快速生成目标流水线任务;然后对目标流水线任务中阶段任务的配置信息进行处理,得到目标执行文本,运行目标执行文本以执行目标流水线任务,进而达到了提高流水线任务的执行效率的效果。
可选地,在本申请实施例提供的流水线任务的处理装置中,第一处理单元302包括:第一检测模块,用于若检测到对多个阶段任务中目标阶段任务一的删除操作;第一处理模块,用于响应删除操作,对目标阶段任务一进行删除处理,得到目标流水线任务。
可选地,在本申请实施例提供的流水线任务的处理装置中,第一处理单元302还包括:第一检测模块,用于若检测到在多个阶段任务中存在新增目标阶段任务二的新增操作;第二处理模块,用于响应新增操作,在多个阶段任务中新增目标阶段任务二,得到目标流水线任务。
可选地,在本申请实施例提供的流水线任务的处理装置中,第一处理单元302还包括:命名模块,用于对目标流水线任务进行命名,得到目标流水线任务的识别ID。
可选地,在本申请实施例提供的流水线任务的处理装置中,装置还包括:设置单元在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,设置目标流水线任务中每个阶段任务的配置信息,并将配置信息和识别ID保存至目标数据库。
可选地,在本申请实施例提供的流水线任务的处理装置中,该装置还包括:第二获取单元,用于在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,获取目标流水线任务的执行信号和目标流水线任务的识别ID,其中,执行信号至少包括:待执行的阶段任务和待执行的阶段任务的标识信息;第三获取单元,用于依据识别ID和标识信息,从目标数据库中获取待执行的阶段任务的配置信息。
可选地,在本申请实施例提供的流水线任务的处理装置中,第二处理单元303包括:第三处理模块,用于对待执行的阶段任务和配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;第四处理模块,用于依据待执行的阶段任务的层次关系和待执行的阶段任务的顺序关系,将执行脚本进行拼接处理,得到目标执行文本。
可选地,在本申请实施例提供的流水线任务的处理装置中,运行单元304包括:通过预设协议获取目标流水线任务的执行状态,并将执行状态反馈至目标对象,其中,执行状态为以下之一:执行中,执行成功和执行失败。
可选地,在本申请实施例提供的流水线任务的处理装置中,该装置还包括:第四获取单元,用于在运行目标执行文本,以执行目标流水线任务之后,若目标流水线任务的执行状态为执行失败,则根据目标流水线任务的运行日志获取执行失败的原因;执行单元,用于依据原因进行修复处理之后,继续执行目标流水线任务,直到目标流水线任务的执行状态变更为执行成功。
流水线任务的处理装置包括处理器和存储器,上述第一获取单元301,第一处理单元302,第二处理单元303和运行单元304等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现流水线任务的处理方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
图4是根据本申请实施例的提供的可选的流水线任务的处理系统,本流水线任务的处理系统可以用于执行本申请实施例所提供的用于流水线任务的处理方法。如图4所示,上述处理系统包括:开发者门户模块,后端服务器和Jenkins持续集成平台。
用户登陆开发者门户模块,选择预设流水线任务的模板,进行流水线任务命名、设置阶段任务以及设置每个阶段的配置信息,完成配置后,进行保存。用户点击流水线任务执行按钮,后端服务器根据流水线任务的识别ID,从数据库中获取待执行的阶段任务的配置信息,对每个待执行任务进行解耦得到对应的执行脚本,根据阶段任务的层级关系和顺序关系对执行脚本进行拼接处理,生成Jenkins持续集成平台可处理的执行文件,Jenkins持续集成平台上进行流水线任务的执行。
流水线任务执行过程中,后端服务器会通过WebSocket协议实时获取Jenkins持续集成平台执行结果情况,并将流水线任务执行结果情况通过后端服务器实时展现到开发者门户模块上,用户可在开发者门户上进行实时查看。当流水线执行结束后,后端服务器会将流水线任务的任务执行状况以及运行日志展示在开发者门户模块上,供用户进行相关任务执行情况的查看。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述流水线任务的处理方法。
如图5所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务;对目标模板进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系;依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息;运行目标执行文本,以执行目标流水线任务。
可选地,对目标模板进行处理,生成目标流水线任务包括:若检测到对多个阶段任务中目标阶段任务一的删除操作;响应删除操作,对目标阶段任务一进行删除处理,得到目标流水线任务。
可选地,对目标模板进行处理,生成目标流水线任务包括:若检测到在多个阶段任务中存在新增目标阶段任务二的新增操作;响应新增操作,在多个阶段任务中新增目标阶段任务二,得到目标流水线任务。
可选地,对目标模板进行处理,生成目标流水线任务还包括:对目标流水线任务进行命名,得到目标流水线任务的识别ID。
可选地,在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,该方法还包括:设置目标流水线任务中每个阶段任务的配置信息,并将配置信息和识别ID保存至目标数据库。
可选地,在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,该方法还包括:获取目标流水线任务的执行信号和目标流水线任务的识别ID,其中,执行信号至少包括:待执行的阶段任务和待执行的阶段任务的标识信息;依据识别ID和标识信息,从目标数据库中获取待执行的阶段任务的配置信息。
可选地,依据目标流水线任务对配置信息进行处理,得到目标执行文本包括:对待执行的阶段任务和配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;依据待执行的阶段任务的层次关系和待执行的阶段任务的顺序关系,将执行脚本进行拼接处理,得到目标执行文本。
可选地,运行目标执行文本,以执行目标流水线任务,包括:通过预设协议获取目标流水线任务的执行状态,并将执行状态反馈至目标对象,其中,执行状态为以下之一:执行中,执行成功和执行失败。
可选地,在运行目标执行文本,以执行目标流水线任务之后,该方法还包括:若目标流水线任务的执行状态为执行失败,则根据目标流水线任务的运行日志获取执行失败的原因;依据原因进行修复处理之后,继续执行目标流水线任务,直到目标流水线任务的执行状态变更为执行成功。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取预设流水线任务的目标模板,其中,目标模板中包括多个阶段任务;对目标模板进行处理,生成目标流水线任务,其中,目标流水线任务至少包括:多个待执行的阶段任务,多个待执行阶段任务之间的层次关系和多个待执行的阶段任务之间的顺序关系;依据目标流水线任务对配置信息进行处理,得到目标执行文本,其中,配置信息是多个阶段任务中部分或全部阶段任务的配置信息;运行目标执行文本,以执行目标流水线任务。
可选地,对目标模板进行处理,生成目标流水线任务包括:若检测到对多个阶段任务中目标阶段任务一的删除操作;响应删除操作,对目标阶段任务一进行删除处理,得到目标流水线任务。
可选地,对目标模板进行处理,生成目标流水线任务包括:若检测到在多个阶段任务中存在新增目标阶段任务二的新增操作;响应新增操作,在多个阶段任务中新增目标阶段任务二,得到目标流水线任务。
可选地,对目标模板进行处理,生成目标流水线任务还包括:对目标流水线任务进行命名,得到目标流水线任务的识别ID。
可选地,在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,该方法还包括:设置目标流水线任务中每个阶段任务的配置信息,并将配置信息和识别ID保存至目标数据库。
可选地,在依据目标流水线任务对配置信息进行处理,得到目标执行文本之前,该方法还包括:获取目标流水线任务的执行信号和目标流水线任务的识别ID,其中,执行信号至少包括:待执行的阶段任务和待执行的阶段任务的标识信息;依据识别ID和标识信息,从目标数据库中获取待执行的阶段任务的配置信息。
可选地,依据目标流水线任务对配置信息进行处理,得到目标执行文本包括:对待执行的阶段任务和配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;依据待执行的阶段任务的层次关系和待执行的阶段任务的顺序关系,将执行脚本进行拼接处理,得到目标执行文本。
可选地,运行目标执行文本,以执行目标流水线任务,包括:通过预设协议获取目标流水线任务的执行状态,并将执行状态反馈至目标对象,其中,执行状态为以下之一:执行中,执行成功和执行失败。
可选地,在运行目标执行文本,以执行目标流水线任务之后,该方法还包括:若目标流水线任务的执行状态为执行失败,则根据目标流水线任务的运行日志获取执行失败的原因;依据原因进行修复处理之后,继续执行目标流水线任务,直到目标流水线任务的执行状态变更为执行成功。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种流水线任务的处理方法,其特征在于,包括:
获取预设流水线任务的目标模板,其中,所述目标模板中包括多个阶段任务;
对所述目标模板进行处理,生成目标流水线任务,其中,所述目标流水线任务至少包括:多个待执行的阶段任务,所述多个待执行的阶段任务之间的层次关系和所述多个待执行的阶段任务之间的顺序关系;
依据所述目标流水线任务对配置信息进行处理,得到目标执行文本,其中,所述配置信息是所述多个阶段任务中部分或全部阶段任务的配置信息;
运行所述目标执行文本,以执行所述目标流水线任务。
2.根据权利要求1所述的方法,其特征在于,对所述目标模板进行处理,生成目标流水线任务包括:
若检测到对所述多个阶段任务中目标阶段任务一的删除操作;
响应所述删除操作,对所述目标阶段任务一进行删除处理,得到所述目标流水线任务。
3.根据权利要求1所述的方法,其特征在于,对所述目标模板进行处理,生成目标流水线任务包括:
若检测到在所述多个阶段任务中存在新增目标阶段任务二的新增操作;
响应所述新增操作,在多个阶段任务中新增所述目标阶段任务二,得到所述目标流水线任务。
4.根据权利要求1所述的方法,其特征在于,对所述目标模板进行处理,生成目标流水线任务还包括:
对所述目标流水线任务进行命名,得到所述目标流水线任务的识别ID。
5.根据权利要求4所述的方法,其特征在于,在依据所述目标流水线任务对配置信息进行处理,得到目标执行文本之前,所述方法还包括:
设置所述目标流水线任务中每个阶段任务的配置信息,并将所述配置信息和所述识别ID保存至目标数据库。
6.根据权利要求5所述的方法,其特征在于,在依据所述目标流水线任务对所述配置信息进行处理,得到目标执行文本之前,所述方法还包括:
获取所述目标流水线任务的执行信号和所述目标流水线任务的识别ID,其中,所述执行信号至少包括:待执行的阶段任务和所述待执行的阶段任务的标识信息;
依据所述识别ID和所述标识信息,从所述目标数据库中获取所述待执行的阶段任务的配置信息。
7.根据权利要求6所述的方法,其特征在于,依据所述目标流水线任务对所述配置信息进行处理,得到目标执行文本包括:
对所述待执行的阶段任务和所述配置信息进行解耦处理,得到每个待执行的阶段任务对应的执行脚本;
依据所述待执行的阶段任务的层次关系和所述待执行的阶段任务的顺序关系,将所述执行脚本进行拼接处理,得到所述目标执行文本。
8.根据权利要求1所述的方法,其特征在于,运行所述目标执行文本,以执行所述目标流水线任务,包括:
通过预设协议获取所述目标流水线任务的执行状态,并将所述执行状态反馈至目标对象,其中,所述执行状态为以下之一:执行中,执行成功和执行失败。
9.根据权利要求8所述的方法,其特征在于,在运行所述目标执行文本,以执行所述目标流水线任务之后,所述方法还包括:
若所述目标流水线任务的执行状态为执行失败,则根据所述目标流水线任务的运行日志获取执行失败的原因;
依据所述原因进行修复处理之后,继续执行所述目标流水线任务,直到所述目标流水线任务的执行状态变更为执行成功。
10.一种流水线任务的处理装置,其特征在于,包括:
第一获取单元,用于获取预设流水线任务的目标模板,其中,所述目标模板中包括多个阶段任务;
第一处理单元,用于对所述目标模板进行处理,生成目标流水线任务,其中,所述目标流水线任务至少包括:多个待执行的阶段任务,所述多个待执行的阶段任务之间的层次关系和所述多个待执行的阶段任务之间的顺序关系;
第二处理单元,用于依据所述目标流水线任务对配置信息进行处理,得到目标执行文本,其中,所述配置信息是所述多个阶段任务中部分或全部阶段任务的配置信息;
运行单元,用于运行所述目标执行文本,以执行所述目标流水线任务。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任意一项所述的流水线任务的处理方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至9中任意一项所述的流水线任务的处理方法。
CN202210143561.1A 2022-02-16 2022-02-16 流水线任务的处理方法和装置、处理器及电子设备 Pending CN114489999A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210143561.1A CN114489999A (zh) 2022-02-16 2022-02-16 流水线任务的处理方法和装置、处理器及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210143561.1A CN114489999A (zh) 2022-02-16 2022-02-16 流水线任务的处理方法和装置、处理器及电子设备

Publications (1)

Publication Number Publication Date
CN114489999A true CN114489999A (zh) 2022-05-13

Family

ID=81482085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210143561.1A Pending CN114489999A (zh) 2022-02-16 2022-02-16 流水线任务的处理方法和装置、处理器及电子设备

Country Status (1)

Country Link
CN (1) CN114489999A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116795434A (zh) * 2023-08-21 2023-09-22 云账户技术(天津)有限公司 一种流水线式任务处理方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116795434A (zh) * 2023-08-21 2023-09-22 云账户技术(天津)有限公司 一种流水线式任务处理方法、装置、电子设备及存储介质
CN116795434B (zh) * 2023-08-21 2023-11-14 云账户技术(天津)有限公司 一种流水线式任务处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
KR102354536B1 (ko) 하이퍼레저 패브릭 네트워크 구축 방법과 컨트롤러 및 저장 매체
CN108920250B (zh) 应用程序容器化的方法及装置
WO2014035309A1 (en) Re-configuration in cloud computing environments
CN111324522A (zh) 一种自动化测试系统及方法
CN110515795B (zh) 一种大数据组件的监控方法、装置、电子设备
US9542173B2 (en) Dependency handling for software extensions
CN113741958A (zh) 一种基于云原生的软件开发交付方法及系统
CN111737139A (zh) 一种小程序的预览二维码生成方法及装置
CN114297056A (zh) 一种自动化测试方法及系统
CN113296823A (zh) 一种生成资源配置文件的方法、装置、设备及存储介质
CN108255735B (zh) 关联环境测试方法、电子装置及计算机可读存储介质
CN110795332A (zh) 一种自动化测试方法和装置
CN115904959A (zh) 软件集成和部署方法以及软件开发管理系统
CN115630835A (zh) 一种基于Activity的工作流通用参数配置方法及系统
CN114489999A (zh) 流水线任务的处理方法和装置、处理器及电子设备
CN108170588B (zh) 一种测试环境搭建方法及装置
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN116414417A (zh) 版本更新方法、装置、非易失性存储介质及电子设备
CN114791884A (zh) 测试环境的构建方法、装置、存储介质及电子设备
CN114936152A (zh) 应用测试方法及设备
CN113708971A (zh) 一种Openstack云平台的部署方法及相关装置
CN112598461A (zh) 一种关于云产品的交付方法、设备及介质
CN112346761A (zh) 前端资源上线方法、设备、系统及存储介质
CN112667463A (zh) 一种应用系统基线状态监控方法及装置
CN110806895A (zh) 一种项目创建方法、装置及计算机可读存储介质

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