持续集成环境的流水线优化方法与装置制造方法及图纸

技术编号:31992613 阅读:21 留言:0更新日期:2022-01-22 18:04
本申请实施例公开了一种持续集成环境的流水线优化方法与装置,该方法包括:在仓库管理系统中创建项目,并获取为该项目配置的至少一个运行器以及至少一个运行器中的每个运行器所支持的并行运行的作业数量;在该项目的根目录中创建第一配置文件,并推送该第一配置文件到仓库管理系统以构建持续集成环境的流水线;根据该至少一个运行器所包含的运行器数量和该至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对该流水线的构建时间的优化策略,并执行该优化策略。可见,本申请实施例有利于实现对流水线的构建时间进行优化,以及减小流水线的构建时间。以及减小流水线的构建时间。以及减小流水线的构建时间。

【技术实现步骤摘要】
持续集成环境的流水线优化方法与装置


[0001]本申请涉及计算机
,具体涉及一种持续集成环境的流水线优化方法与装置。

技术介绍

[0002]仓库管理系统持续集成(gitlab continuous integration,gitlab CI)是gitlab提供的持续集成服务,通过将代码集成到主干以保障合并主线之后不会出现质量问题。
[0003]在gitlab CI中,每个推送到gitlab服务器的配置文件中的代码都会构建一个持续集成环境的流水线(pipeline),从而对代码进行自动构建、单元测试和代码检测等流程以实现自动化测试。然而,在测试量较大和测试需求较复杂的情况下,流水线的构建时间将成为阻碍开发人员快速迭代的瓶颈,需要进一步解决。

技术实现思路

[0004]本申请实施例提供了一种持续集成环境的流水线优化方法与装置,以期望实现对流水线的构建时间进行优化,减小流水线的构建时间。
[0005]第一方面,本申请实施例提供一种持续集成环境的流水线优化方法,包括:
[0006]在仓库管理系统中创建项目,并获取为所述项目配置的至少一个运行器以及所述至少一个运行器中的每个运行器所支持的并行运行的作业数量,所述至少一个运行器用于运行所述项目的作业并将运行结果返回所述仓库管理系统;
[0007]在所述项目的根目录中创建第一配置文件,并推送所述第一配置文件到所述仓库管理系统以构建持续集成环境的流水线;
[0008]根据所述至少一个运行器所包含的运行器数量和所述至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对所述流水线的构建时间的优化策略,并执行所述优化策略。
[0009]第二方面,本申请实施例提供一种持续集成环境的流水线优化装置,所述装置包括处理单元,所述处理单元用于:
[0010]在仓库管理系统中创建项目,并获取为所述项目配置的至少一个运行器及所述至少一个运行器中的每个运行器所支持的并行运行的作业数量,所述至少一个运行器用于运行所述项目的作业并将运行结果返回所述仓库管理系统;
[0011]在所述项目的根目录中创建第一配置文件,并推送所述第一配置文件到所述仓库管理系统以构建持续集成环境的流水线;
[0012]根据所述至少一个运行器所包含的运行器数量和所述至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对所述流水线的构建时间的优化策略,并执行所述优化策略。
[0013]第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器、存储器和通信接口,所述存储器存储有一个或多个程序,并且所述一个或多个程序由所述处理器执
行,所述一个或多个程序用于执行本申请实施例第一方面中的步骤的指令。
[0014]第四方面,本申请实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储用于电子数据交换的计算机程序,所述计算机程序可操作来使得计算机执行本申请实施例第一方面中所描述的部分或全部步骤。
[0015]第五方面,本申请实施例提供一种计算机程序产品,其中,所述计算机程序产品包括计算机程序,所述计算机程序可操作来使得计算机执行本申请实施例第一方面中所描述的部分或全部步骤,所述计算机程序产品可以为一个软件安装包。
[0016]可以看出,在本申请实施例中,首先,通过获取对仓库管理系统中创建的项目配置的至少一个运行器以及该至少一个运行器中的每个运行器所支持的并行运行的作业数量;然后,为该项目创建第一配置文件,并推送该第一配置文件到仓库管理系统以构建流水线;最后,根据该至少一个运行器所包含的运行器数量和该至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对流水线的构建时间的优化策略。由于本申请实施例根据配置的运行器数量和运行器所支持的并行运行的作业数量来确定针对流水线的构建时间的优化策略,并执行所述优化策略,以实现对流水线的构建时间进行优化,从而减小流水线的构建时间。
附图说明
[0017]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本申请实施例提供的一种通信系统的架构示意图;
[0019]图2是本申请实施例提供的一种持续集成环境的流水线优化方法的流程示意图;
[0020]图3是本申请实施例提供的一种流水线的结构示意图;
[0021]图4是本申请实施例提供的一种优化流水线后的结构示意图;
[0022]图5是本申请实施例提供的又一种优化流水线后的结构示意图;
[0023]图6是本申请实施例提供的又一种优化流水线后的结构示意图;
[0024]图7是本申请实施例提供的又一种优化流水线后的结构示意图;
[0025]图8是本申请实施例提供的又一种优化流水线后的结构示意图;
[0026]图9是本申请实施例提供的又一种优化流水线后的结构示意图;
[0027]图10是本申请实施例提供的又一种优化流水线后的结构示意图;
[0028]图11是本申请实施例提供的又一种优化流水线后的结构示意图;
[0029]图12是本申请实施例提供的一种持续集成环境的流水线优化装置的功能单元组成框图。
具体实施方式
[0030]下面结合附图,对本申请实施例中的技术方案进行详细介绍。
[0031]为了更好地理解本申请实施例的方案,先对本申请实施例可能涉及的通信系统进行介绍,如图1所示。其中,通信系统100可以包括电子设备110、仓库管理系统服务器120和
运行器服务器130。用户可以在电子设备110上运行的仓库管理系统中创建项目,并在该项目的根目录中创建配置文件;仓库管理系统服务器120可以为仓库管理系统中创建的项目配置1个或者多个运行器,在项目下的配置文件中找到指定的运行器以及根据配置文件构建一次流水线;运行器服务器130可以用于加载为项目配置的运行器,而加载的运行器可以用于运行项目的作业并将运行结果返回仓库管理系统服务器120。需要说明的是,运行器服务器130上可以加载1个或者多个运行器,或者运行器服务器130可以为1个或者多个运行器服务器的集合。
[0032]具体的,本申请实施例中的电子设备110可以为各种具有持续集成环境的流水线优化功能的手持设备、车载设备、可穿戴设备、用户设备(user Equipment,UE)、终端设备(terminal device)、个人数字助理(personal digital assistant,PDA)、个人计算机(personal computer,PC)、中继设备、支持802.11协议的计算机、支持5G系统中的终端设备以及未来演进的公用陆地移动通信网络(Public Land Mobile Network,PLMN)中的终端设备等,本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种持续集成环境的流水线优化方法,其特征在于,包括:在仓库管理系统中创建项目,并获取为所述项目配置的至少一个运行器以及所述至少一个运行器中的每个运行器所支持的并行运行的作业数量,所述至少一个运行器用于运行所述项目的作业并将运行结果返回所述仓库管理系统;在所述项目的根目录中创建第一配置文件,并推送所述第一配置文件到所述仓库管理系统以构建持续集成环境的流水线;根据所述至少一个运行器所包含的运行器数量和所述至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对所述流水线的构建时间的优化策略,并执行所述优化策略。2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个运行器所包含的运行器数量和所述至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对所述流水线的构建时间的优化策略,包括:根据所述至少一个运行器所包含的运行器数量将独立用例集划分为至少一个独立用例子集;其中,所述独立用例集用于表示独立用例组成的逻辑集合,所述独立用例用于表示不可再分割和不以任何用例的输出为前提的执行单元;将所述至少一个独立用例子集中的每个子集组成为一个第一作业,得到至少一个第一作业;其中,所述至少一个第一作业中的每个第一作业对应有一个所述至少一个运行器中的运行器;根据所述每个运行器所支持的并行运行的作业数量将所述至少一个第一作业编入所述流水线中的阶段。3.根据权利要求2所述的方法,其特征在于,所述根据所述每个运行器所支持的并行运行的作业数量将所述至少一个第一作业编入所述流水线中的阶段,包括:在所述每个运行器所支持的并行运行的作业数量大于或者等于所述每个运行器对应的第一作业中的作业数量的情况下,将所述至少一个第一作业编入所述流水线中的第一阶段,所述第一阶段为所述流水线中的一个阶段。4.根据权利要求2所述的方法,其特征在于,所述根据所述每个运行器所支持的并行运行的作业数量将所述至少一个第一作业编入所述流水线中的阶段,包括:在所述每个运行器所支持的并行运行的作业数量小于或等于所述每个运行器对应的第一作业中的作业数量的情况下,从所述流水线中的第二阶段开始,将所述每个运行器对应的第一作业中选取的第一数量个的作业编入所述第二阶段,所述第一数量小于或者等于所述每个运行器所支持的并行运行的作业数量;将所述至少一个第一作业中的其余作业从所述第二阶段的下一个阶段开始编入。5.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个运行器所包含的运行器数量和所述至少一个运行器中的每个运行器所支持的并行运行的作业数量确定针对所述流水线的构建时间的优化策略,包括:根据所述至少一个运行器所包含的运行器数量将前置用例集划分为至少一个前置用例子集,以及将条件用例集划分为至少一个条件用例子集;其中,所述前置用例集用于表示前置用例组成的逻辑集合,所述条件用例集用于表示条件用例组成的逻辑集合,所述前置用例为独立用例或者所述条件用例,所述独立用例用于表示不可再分割和不以任何用例的
输出为前提的执行单元,所述条件用例用于表示依赖于所述前置用例的输出为前提的执行单元,所述至少一个条件用例子集中的每个子集与所述至少一个前置用例子集中的每个子集一一对应;将所述至少一个前置用例子集中的每个子集组成为一个第二作业以得到至少一个第二作业,以及将所述至少一个条件用例子集中的每个子集组成为一个第三作业以得到至少一个第三作业;根据所述每个运行器所支持的并行运行的作业数量将所述至少一个第二作业和所述至少一个第三作业编入所述流水线中的阶段;其中,第一前置用例子集组成的一个第二作业编入的阶段在第一条件用例子集组成的一个第三作业编入的阶段之前,所述第一前置用例子集为所述至少一个前置用例子集中的一个子集,所述第一条件用例子集为在所述至少一个条件用例子集中依赖所述第一前置用例子集的输出为前提的一个子集...

【专利技术属性】
技术研发人员:杨海波
申请(专利权)人:深圳云天励飞技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1