Devsecops流水线执行控制方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34177361 阅读:43 留言:0更新日期:2022-07-17 12:14
本申请公开了一种Devsecops流水线执行控制方法、装置、电子设备及存储介质,其中方法包括:获取任务并按照阶段进行分类,以构建流水线执行控制数据结构,流水线执行控制数据结构包括流水线信息和阶段数组,阶段数组包括不同的阶段数据,阶段数据包括阶段信息和任务数组,任务数组包括不同的任务数据;任务调度器启动第一线程调用任务调度函数;任务调度函数提取阶段数组并开启第一循环体,第一循环体遍历阶段数组,第一循环体提取阶段数据中的任务数组并开启第二循环体,第二循环体遍历任务数组并将任务数据发送至第一消息队列,以任务数据将发送至任务执行器,任务执行器向任务调度器发送执行过程数据。本申请便于对流水线进行管理控制,提高效率。提高效率。提高效率。

Devsecops pipeline execution control method, device, electronic equipment and storage medium

【技术实现步骤摘要】
Devsecops流水线执行控制方法、装置、电子设备及存储介质


[0001]本申请涉及流水线控制
,尤其涉及一种Devsecops流水线执行控制方法、装置、电子设备及存储介质。

技术介绍

[0002]Devsecops流水线是指在软件开发过程中,按照Devsecops规范来进行软件的源码获取、构建、安全测试、部署等自动化工作。与Devops流水线相比,Devsecops流水线增加安全测试环节的自动化工作,以提高对流程的安全监控。
[0003]然而流水线任务的数量通常是巨大的,并且流水线往往有不同阶段组成,若直接按照流程执行流水线,则难以保证流水线在不同阶段下能够准确执行对应的流水线任务,不仅难以管理,而且效率较低。

技术实现思路

[0004]本申请的目的是为解决上述部分技术问题的不足而提供一种Devsecops流水线执行控制方法、装置、电子设备及存储介质,能够较好地对不同阶段下的任务进行分类,并且能够有序地执行不同阶段下的任务,便于对流水线进行管理控制,提高效率。
[0005]为了实现上述目的,本申请提供了一种Devsecops流水线执行控制方法,其包括:
[0006]任务调度器获取流水线执行任务并按照阶段对所述流水线执行任务进行分类;
[0007]所述任务调度器构建流水线执行控制数据结构,所述流水线执行控制数据结构包括流水线信息和阶段数组,所述阶段数组包括不同的阶段数据,每一所述阶段数据包括阶段信息和任务数组,所述任务数组包括不同的任务数据;
[0008]所述任务调度器启动第一线程调用任务调度函数;
[0009]所述任务调度函数启动任务执行器;所述任务调度函数提取所述流水线执行控制数据结构中的阶段数组并开启第一循环体,所述第一循环体遍历所述阶段数组,所述第一循环体提取所述阶段数据中的任务数组并开启第二循环体,所述第二循环体遍历所述任务数组并将提取的所述任务数据发送至所述任务调度器的第一消息队列;所述任务调度器利用所述第一消息队列发送所述任务数据至所述任务执行器,所述任务执行器于任务执行过程中向所述任务调度器发送执行过程数据,所述任务调度器利用第二消息队列接收所述执行过程数据。
[0010]可选地,所述流水线执行控制数据结构还包括流水线执行ID;
[0011]所述方法还包括:
[0012]所述任务调度函数于启动所述任务执行器之前,提取所述流水线执行ID作为任务资源标识符;
[0013]所述任务调度函数启动所述任务执行器时传递所述任务资源标识符至所述任务执行器;
[0014]所述任务调度器根据所述任务资源标识符声明所述第一消息队列;
[0015]所述任务执行器根据所述任务资源标识符监听所述第一消息队列。
[0016]可选地,所述任务调度器根据所述任务资源标识符声明所述第二消息队列。
[0017]可选地,所述方法还包括:
[0018]所述任务调度器启动第二线程监听所述第二消息队列中的数据;
[0019]根据所述第二线程监听到的所述任务数组的各所述任务数据执行完毕的信号,所述第一循环体提取下一所述阶段数据中的任务数组并开启所述第二循环体。
[0020]可选地,所述方法还包括:
[0021]所述“根据所述第二线程监听到的所述任务数组的各所述任务数据执行完毕的信号,所述第一循环体提取下一所述阶段数据中的任务数组并开启所述第二循环体”包括:
[0022]所述第二线程监听到任务执行完毕的信号后,将该执行完毕的所述任务数据中的任务ID存放在全局数组变量;
[0023]当确定所述全局数组变量中存在所述任务数组的各所述任务数据的任务ID时,所述第一循环体提取下一所述阶段数据中的任务数组并开启所述第二循环体。
[0024]可选地,所述任务调度器利用所述第二线程将接收到的所述任务执行器的执行过程日志发送至Web端。
[0025]可选地,所述方法还包括:
[0026]所述流水线执行控制数据结构构建完成后,所述任务调度器启动第三线程监听Web端用户针对流水线执行的操作命令;
[0027]所述任务调度器根据所述操作命令获取任务ID并向所述第一消息队列发送所述任务ID和操作类型;
[0028]所述任务执行器根据接收到的所述任务ID和所述操作类型,针对对应的任务进行操作。
[0029]为了实现上述目的,本申请还提供一种Devsecops流水线执行控制装置,其包括:
[0030]获取模块,所述获取模块用于任务调度器获取流水线执行任务并按照阶段对所述流水线执行任务进行分类;
[0031]构建模块,所述构建模块用于所述任务调度器构建流水线执行控制数据结构,所述流水线执行控制数据结构包括流水线信息和阶段数组,所述阶段数组包括不同的阶段数据,每一所述阶段数据包括阶段信息和任务数组,所述任务数组包括不同的任务数据;
[0032]启动模块,所述启动模块用于所述任务调度器启动第一线程调用任务调度函数;
[0033]处理模块,所述处理模块用于所述任务调度函数启动任务执行器;所述任务调度函数提取所述流水线执行控制数据结构中的阶段数组并开启第一循环体,所述第一循环体遍历所述阶段数组,所述第一循环体提取所述阶段数据中的任务数组并开启第二循环体,所述第二循环体遍历所述任务数组并将提取的所述任务数据发送至所述任务调度器的第一消息队列;所述任务调度器利用所述第一消息队列发送所述任务数据至所述任务执行器,所述任务执行器于任务执行过程中向所述任务调度器发送执行过程数据,所述任务调度器利用第二消息队列接收所述执行过程数据。
[0034]为了实现上述目的,本申请还提供一种电子设备,其包括:
[0035]处理器;
[0036]存储器,其中存储有所述处理器的可执行指令;
[0037]其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的Devsecops流水线执行控制方法。
[0038]为了实现上述目的,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,其包括所述计算机程序被处理器执行时实现如上所述的Devsecops流水线执行控制方法。
[0039]本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行如上所述的Devsecops流水线执行控制方法。
[0040]本申请首先通过任务调度器来获取流水线执行任务,按照阶段对流水线执行任务进行分类并构建流水线执行控制数据结构,流水线执行控制数据结构包括流水线信息和阶段数组,阶段数组包括不同阶段下的任务数据。在运行时,任务调度器启动第一线程调用任务调度函数,任务调度函数启动任务执行器,任务调度函数提取流水线执行控制数据结构中的阶段数组并开启第一循环体,第一循环体遍历阶段数组,第一循环体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Devsecops流水线执行控制方法,其特征在于,包括:任务调度器获取流水线执行任务并按照阶段对所述流水线执行任务进行分类;所述任务调度器构建流水线执行控制数据结构,所述流水线执行控制数据结构包括流水线信息和阶段数组,所述阶段数组包括不同的阶段数据,每一所述阶段数据包括阶段信息和任务数组,所述任务数组包括不同的任务数据;所述任务调度器启动第一线程调用任务调度函数;所述任务调度函数启动任务执行器;所述任务调度函数提取所述流水线执行控制数据结构中的阶段数组并开启第一循环体,所述第一循环体遍历所述阶段数组,所述第一循环体提取所述阶段数据中的任务数组并开启第二循环体,所述第二循环体遍历所述任务数组并将提取的所述任务数据发送至所述任务调度器的第一消息队列;所述任务调度器利用所述第一消息队列发送所述任务数据至所述任务执行器,所述任务执行器于任务执行过程中向所述任务调度器发送执行过程数据,所述任务调度器利用第二消息队列接收所述执行过程数据。2.如权利要求1所述的Devsecops流水线执行控制方法,其特征在于,所述流水线执行控制数据结构还包括流水线执行ID;所述方法还包括:所述任务调度函数于启动所述任务执行器之前,提取所述流水线执行ID作为任务资源标识符;所述任务调度函数启动所述任务执行器时传递所述任务资源标识符至所述任务执行器;所述任务调度器根据所述任务资源标识符声明所述第一消息队列;所述任务执行器根据所述任务资源标识符监听所述第一消息队列。3.如权利要求2所述的Devsecops流水线执行控制方法,其特征在于,所述任务调度器根据所述任务资源标识符声明所述第二消息队列。4.如权利要求1所述的Devsecops流水线执行控制方法,其特征在于,还包括:所述任务调度器启动第二线程监听所述第二消息队列中的数据;根据所述第二线程监听到的所述任务数组的各所述任务数据执行完毕的信号,所述第一循环体提取下一所述阶段数据中的任务数组并开启所述第二循环体。5.如权利要求4所述的Devsecops流水线执行控制方法,其特征在于,还包括:所述“根据所述第二线程监听到的所述任务数组的各所述任务数据执行完毕的信号,所述第一循环体提取下一所述阶段数据中的任务数组并开启所述第二循环体”包括:所述第二线程监听到任务执行完毕的信号后,将该执行完毕的所述任务数据中的任务ID存放在全局数组变量;当确定所述全局数组变量中存在...

【专利技术属性】
技术研发人员:潘志祥万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1