Devops平台流水线异步带参反馈方法及控制系统技术方案

技术编号:35573710 阅读:14 留言:0更新日期:2022-11-12 15:58
本发明专利技术公开了一种Devops平台流水线异步带参反馈方法及控制系统。在Devops平台上,利用交互文件指定需返回的环境参数,将指定了环境参数的交互文件发送至Jenkins服务器,选择用于控制流水线构建的触发方式,设置所述触发方式对应的buildType参数,将buildType参数发送至所述Jenkins服务器;在Jenkins服务器中,根据触发方式执行流水线构建任务,并将执行结果、buildType参数和Jenkins服务器自带的参数作为环境参数写入交互文件,并将记录有环境参数的交互文件返回至所述Devops平台。本申请可实现当Devops平台接受到Jenkins服务器反馈的参数时即可获取Jenkins服务器已执行完任务并获得执行结果。获得执行结果。获得执行结果。

【技术实现步骤摘要】
Devops平台流水线异步带参反馈方法及控制系统


[0001]本专利技术涉及软件开发
,具体而言,涉及一种Devops平台流水线异步带参反馈方法、控制系统。

技术介绍

[0002]Devops=Development+Operation是一种软件开发过程中开发、运维和质量控制相结合的思想。它将开发需求、开发、静态代码检查、自动化测试、自动化运维等过程集成于一体,有利地促进了整个软件开发过程的有序进行和不同部门之间的高效协作。随着Devops理念的兴起,国内外大小型公司也纷纷建立自己的Devops平台,但是由于Devops平台建立的规范参差不齐、所用技术也各不相同。如下问题存在于基于Jenkins的Devops平台中:
[0003]第一,基于Jenkins的Devops平台通过调用Jenkins的Api接口来请求Jenkins服务器执行相关的任务,但是Jenkins不会返回执行结果。这就造成了Devops平台不知道Jenkins服务器相关任务的执行是否完成以及任务的执行结果。我们只能通过频繁的去调用Api去查询执行结果。这样大量的频繁请求会导致我们浪费大量的网络资源和服务器资源,造成网络阻塞、服务器性能下降甚至导致整个系统的崩溃。
[0004]第二,Jenkins所有的信息都是以文件的形式存放在Jenkins服务器中的。当Jenkins服务器上的项目和流水线越来越多时会导致Jenkins服务器上面所存放文件越来越大。Jenkins会按照一定的策略去清理这些文件,但是清理文件会造成我们历史信息的丢失
[0005]第三,Jenkins所有信息都是按照一定策略存放在Jenkins服务器的文件中,Devops平台调用Jenkins的Api发送请求查询数据时需要频繁的读取文件,频繁的大文件I/O操作导致性能低下。
[0006]第四,Jenkins提供的Api接口未提供分页查询,调用Jenkins的Api查询信息时Jenkins将所有的信息返回给客户端,如果需要分页我们只能在从Jenkins获取到所有数据后在内存中进行分页处理,性能低下。
[0007]有鉴于此,特提出本申请。

技术实现思路

[0008]本申请的目的在于提供一种Devops平台流水线异步带参反馈方法及控制系统,采用异步带参反馈的方法,解决由于Jenkins服务器在执行任务时不返回执行结果,导致Devops平台无法判断Jenkins服务器的任务是否执行完成以及无法获取执行结果,进而导致花费大量网络资源和服务资源用于查询执行结果,造成网络阻塞和服务器性能下降的问题;通过该方法实现Devops平台与Jenkins服务器数据的解耦,当Devops平台接受到Jenkins服务器反馈的参数时即可获取Jenkins服务器已执行完任务并获得执行结果。
[0009]本专利技术通过下述技术方案实现:
[0010]一方面,
[0011]本申请提供一种Devops平台流水线异步带参反馈方法,包括以下步骤:
[0012]在Devops平台上,利用交互文件指定需返回的环境参数,将指定了环境参数的交互文件发送至Jenkins服务器,选择用于控制流水线构建的触发方式,设置所述触发方式对应的buildType参数,将所述buildType参数发送至所述Jenkins服务器;
[0013]在所述Jenkins服务器中,根据所述触发方式执行流水线构建任务,并将执行结果、所述buildType参数和所述Jenkins服务器自带的参数作为环境参数写入所述交互文件,并将记录有环境参数的交互文件返回至所述Devops平台,完成Devops平台流水线异步带参反馈。
[0014]进一步的,
[0015]所述将记录有环境参数的交互文件返回至所述Devops平台之后,包括以下步骤:在Devops平台上,根据交互文件中的buildType参数将所述Jenkins服务器的执行结果存入数据库中。
[0016]进一步的,
[0017]所述Devops平台流水线异步带参反馈方法,还包括以下步骤:通过Devops平台的调用接口从所述数据库中查询所需信息,将查询结果发送给显示终端。
[0018]进一步的,
[0019]所述交互文件包括:xml文件,所述需反馈的参数包括:buildType参数、Jenkins服务器自带的变量和Jenkins服务器的执行结果。
[0020]进一步的,
[0021]不同的触发方式对应不同的buildType参数。
[0022]进一步的,
[0023]所述触发方式对应的buildType参数的设置方法为:
[0024]若当前流水线构建的触发方式为用户通过手动方式触发,则将触发方式对应的buildType参数设置为“buildType=手动触发(用户姓名)”;
[0025]若当前流水线构建的触发方式为用户通过定时任务触发,则将触发方式对应的buildType参数设置为“buildType=定时任务触发(用户姓名)”;
[0026]若当前流水线构建的触发方式为用户通过Git事件触发,则将触发方式对应的buildType参数设置为“buildType=Git事件触发(用户姓名)”。
[0027]进一步的,
[0028]所述将记录有环境参数的交互文件返回至所述Devops平台的方法为:通过异步反馈接口将记录有环境参数的交互文件返回至所述Devops平台。
[0029]另一方面,
[0030]本申请提供一种Devops平台流水线异步带参反馈的控制系统,包括:
[0031]Devops平台控制模块,用于控制Devops平台执行以下操作:利用交互文件指定需返回的环境参数,将指定了环境参数的交互文件发送至Jenkins服务器,选择用于控制流水线构建的触发方式,设置所述触发方式对应的buildType参数,将所述buildType参数发送至所述Jenkins服务器;
[0032]Jenkins服务器控制模块,用于控制Jenkins服务器执行以下操作:根据所述触发
方式执行流水线构建任务,并将执行结果、所述buildType参数和所述Jenkins服务器自带的参数作为环境参数写入所述交互文件,并将记录有环境参数的交互文件返回至所述Devops平台。
[0033]进一步的,
[0034]所述Devops平台控制模块,还用于控制Devops平台根据交互文件中的buildType参数将所述Jenkins服务器的执行结果存入数据库中。
[0035]进一步的,
[0036]所述Devops平台流水线异步带参反馈的控制系统,还包括输出发送模块,用于控制Devops平台的调用接口从所述数据库中查询所需信息,将查询结果发送给显示终端。
[0037]本专利技术与现有技术相比,具有如下的优点和有益效果:
[0038]1、本专利技术提供的一种Devops平台流水线异步带参反馈方法及控制系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Devops平台流水线异步带参反馈方法,其特征在于,包括以下步骤:在Devops平台上,利用交互文件指定需返回的环境参数,将指定了环境参数的交互文件发送至Jenkins服务器,选择用于控制流水线构建的触发方式,设置所述触发方式对应的buildType参数,将所述buildType参数发送至所述Jenkins服务器;在所述Jenkins服务器中,根据所述触发方式执行流水线构建任务,并将执行结果、所述buildType参数和所述Jenkins服务器自带的参数作为环境参数写入所述交互文件,并将记录有环境参数的交互文件返回至所述Devops平台,完成Devops平台流水线异步带参反馈。2.根据权利要求1所述的一种Devops平台流水线异步带参反馈方法,其特征在于,所述将记录有环境参数的交互文件返回至所述Devops平台之后,包括以下步骤:在Devops平台上,根据交互文件中的buildType参数将所述Jenkins服务器的执行结果存入数据库中。3.根据权利要求2所述的一种Devops平台流水线异步带参反馈方法,其特征在于,还包括以下步骤:通过Devops平台的调用接口从所述数据库中查询所需信息,将查询结果发送给显示终端。4.根据权利要求1所述的一种Devops平台流水线异步带参反馈方法,其特征在于,所述交互文件包括:xml文件,所述需反馈的参数包括:buildType参数、Jenkins服务器自带的变量和Jenkins服务器的执行结果。5.根据权利要求1所述的一种Devops平台流水线异步带参反馈方法,其特征在于,不同的触发方式对应不同的buildType参数。6.根据权利要求1或5所述的一种Devops平台流水线异步带参反馈方法,其特征在于,所述触发方式对应的buildType参数的设置方法为:若当前流水线构建的触发方式为用户通过手动方式触发,则将触发方式对应的buildType参数设置为“buil...

【专利技术属性】
技术研发人员:杨荣华晏东张含伦
申请(专利权)人:成都精灵云科技有限公司
类型:发明
国别省市:

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

1