一种基于DevSecOps的流水线实现方法和系统技术方案

技术编号:33913865 阅读:28 留言:0更新日期:2022-06-25 19:55
本申请公开一种基于DevSecOps的流水线实现方法和系统,其中,实现方法包括:接收并分析流水线的任务,以获取任务信息;获取若干服务器的信息,根据任务信息和若干服务器的信息确定目标服务器;将流水线的任务分配给目标服务器,在目标服务器内根据流水线生成对应的任务执行器;任务执行器执行对应流水线的任务;在目标服务器内的任务执行器执行完对应流水线的任务后,清除对应的任务执行器。本发明专利技术能够在随时响应流水线任务的情况下,减少占用服务器的计算资源,并且能够实现多条流水线同时运行。行。行。

【技术实现步骤摘要】
一种基于DevSecOps的流水线实现方法和系统


[0001]本专利技术涉及软件开发领域,具体涉及一种基于DevSecOps的流水线实现的方法和系统。

技术介绍

[0002]DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,主要用于促进开发、技术运营和质量保障部门之间的沟通、协作与整治。通过DecOps软件开发平台进行项目开发可以使得构建、测试、发布软件能够更加地快捷、频繁和可靠。由于传统的DevOps流程不关注安全测试部分,而如今信息安全越来越受到人们重视,因此需要将安全测试集成到现有的DevOps流程中,以构建形成DevSecOps(Development、Security和Operations的组合词)流程。
[0003]现有的DevSecOps平台所构建的流水线一般都是通过gitlab+Jenkins的配合实现的,在构建DevSecOps流水线时,需要根据需求提前部署相应数量的Jenkins服务器,Jenkins服务器用于对执行流水线任务,为了保证Jenkins服务器能够及时响应新的流水线执行任务,即使在没有流水线执行的情况下,也需要Jenkins服务器保持运行,这样会占用服务器的资源,而且还需要管理者Jenkins服务器的运行进行维护,浪费了计算资源和增加了成本。
[0004]因此,设计一种能够解决上述问题的基于DevSecOps的流水线实现方法和系统显得尤为重要。

技术实现思路

[0005]本申请的目的在于提供一种基于DevSecOps的流水线实现方法和系统,能够在随时响应流水线任务的情况下,减少占用服务器的计算资源,并且能够实现多条流水线同时运行。
[0006]为实现上述目的,本申请提供了一种基于DevSecOps的流水线实现方法,包括:
[0007]接收并分析流水线的任务,以获取任务信息;
[0008]获取若干服务器的信息,根据所述任务信息和若干所述服务器的信息确定目标服务器;
[0009]将所述流水线的任务分配给所述目标服务器,在所述目标服务器内根据所述流水线生成对应的任务执行器;
[0010]所述任务执行器执行对应所述流水线的任务;
[0011]在所述目标服务器内的所述任务执行器执行完对应所述流水线的任务后,清除对应的所述任务执行器。
[0012]可选地,根据所述流水线构建对应的数据通道,所述数据通道用于传输所述流水线运行过程中的数据。
[0013]可选地,还包括:
[0014]根据所述流水线生成对应的资源标识符;
[0015]通过所述资源标识符标记所述流水线所对应的所述数据通道。
[0016]可选地,传输所述资源标识符至所述目标服务器,所述目标服务器中的所述任务执行器获取所述资源标识符;
[0017]所述任务执行器根据所述资源标识符连接对应的所述数据通道。
[0018]可选地,在所述目标服务器内生成日志文件;
[0019]所述任务执行器执行所述流水线的任务的过程中,产生的日志同步写入所述日志文件;
[0020]循环读取所述日志文件并将读取到的日志通过所述数据通道上传。
[0021]可选地,所述“在所述目标服务器内根据所述流水线生成对应的任务执行器”包括:
[0022]将构建的docker镜像传输至所述目标服务器内;
[0023]启动所述目标服务器内的所述docker镜像以形成docker容器,将所述docker容器作为所述任务执行器。
[0024]可选地,还包括:
[0025]获取探针部署配置参数;
[0026]根据所述探针部署配置参数获取对应的测试探针;
[0027]在所述任务执行器部署的应用的服务端部署所述测试探针;
[0028]运行所述应用并通过所述测试探针收集分析数据;
[0029]根据所述分析数据获取漏洞信息。
[0030]为实现上述目的,本申请还提供了一种基于DevSecOps的流水线实现系统,包括调度端和若干服务器;
[0031]所述调度端上配置有任务调度器,所述任务调度器被配置为:接收并分析流水线的任务,以获取任务信息;获取若干所述服务器的信息,根据所述任务信息和若干所述服务器的信息确定目标服务器;将所述流水线的任务分配于所述目标服务器,在所述目标服务器内根据所述流水线生成对应的任务执行器;
[0032]所述任务执行器被配置为执行对应的所述流水线的任务;
[0033]在所述目标服务器内的所述任务执行器执行完所述流水线的任务后,所述任务调度器清除对应的所述任务执行器。
[0034]为实现上述目的,本申请还提供了一种电子设备,包括:
[0035]处理器;
[0036]存储器,其中存储有所述处理器的可执行指令;
[0037]其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的基于DevSecOps的流水线实现方法。
[0038]为实现上述目的,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于DevSecOps的流水线实现方法。
[0039]本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行
上述基于DevSecOps的流水线实现方法。
[0040]本申请通过接收并分析流水线的任务,可以获取任务信息,根据任务信息和若干服务器的信息可以确定目标服务器,并在目标服务器内生成执行对应流水线的任务的任务执行器,并且在任务执行器执行完对应流水线的任务后,目标服务器将对应的任务执行器清除,从而将目标服务器的计算资源释放,有利于服务器计算资源的有效利用。本申请在没有流水线任务时并不会在服务器内生成任务执行器,因此不会占用服务器资源,而在有流水线任务后,能够及时确定目标服务器并生成任务执行器执行流水线的任务。在多条流水线同时运行的情况下,本申请能够根据不同流水线的任务信息,将流水线的任务分配至相应的目标服务器中,并根据不同流水线生成对应的任务执行器执行流水线的任务,因此能够实现多条流水线并发运行。
附图说明
[0041]图1是本申请实施例基于DevSecOps的流水线实现方法的流程图。
[0042]图2是本申请实施例在目标服务器内根据流水线生成对应的任务执行器的方法流程图。
[0043]图3是是本申请实施例部署测试探针的方法流程图。
[0044]图4是本申请实施例基于DevSecOps的流水线实现系统的示意框图。
[0045]图5是本申请实施例电子设备的示意框图。
具体实施方式
[0046]为了详细说明本申请的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。...

【技术保护点】

【技术特征摘要】
1.一种基于DevSecOps的流水线实现方法,其特征在于,包括:接收并分析流水线的任务,以获取任务信息;获取若干服务器的信息,根据所述任务信息和若干所述服务器的信息确定目标服务器;将所述流水线的任务分配给所述目标服务器,在所述目标服务器内根据所述流水线生成对应的任务执行器;所述任务执行器执行对应所述流水线的任务;在所述目标服务器内的所述任务执行器执行完对应所述流水线的任务后,清除对应的所述任务执行器。2.如权利要求1所述的基于DevSecOps的流水线实现方法,其特征在于,根据所述流水线构建对应的数据通道,所述数据通道用于传输所述流水线运行过程中的数据。3.如权利要求2所述的基于DevSecOps的流水线实现方法,其特征在于,还包括:根据所述流水线生成对应的资源标识符;通过所述资源标识符标记所述流水线所对应的所述数据通道。4.如权利要求3所述的基于DevSecOps的流水线实现方法,其特征在于,传输所述资源标识符至所述目标服务器,所述目标服务器中的所述任务执行器获取所述资源标识符;所述任务执行器根据所述资源标识符连接对应的所述数据通道。5.如权利要求2所述的基于DevSecOps的流水线实现方法,其特征在于,在所述目标服务器内生成日志文件;所述任务执行器执行所述流水线的任务的过程中,产生的日志同步写入所述日志文件;循环读取所述日志文件并将读取到的日志通过所述数据通道上传。6.如权利要求1所述的基于DevSecOps的流水线实现方法,其特征在于,所述“在所述目标服务器内根据所述流水线生成对应的任务执行器”包括:将构建的docker镜像...

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

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

1