一种管理DevOps工具链的方法和系统技术方案

技术编号:30407133 阅读:19 留言:0更新日期:2021-10-20 11:15
本发明专利技术实施例提供了一种管理DevOps工具链的方法和系统,所述方法包括:获取原始DevOps工具链;得到包含所述原始DevOps工具链的一个Docker镜像;在检测到新的Jenkins流水线构建初始化时,响应于对所述原始DevOps工具链中的目标DevOps工具链的安装请求,基于所述Docker镜像,为所述Jenkins流水线镜像安装所述目标DevOps工具链;在检测到所述Jenkins流水线执行完毕之后,自动卸载所述目标DevOps工具链。本发明专利技术实施例提供的方法和系统,基于Docker镜像工具包,为Jenkins流水线单独安装工具,并在流水线实例消亡后自动卸载,避免了服务器中DevOps工具链的管理混乱,提高了DevOps工具链的管理效率和应用效率。DevOps工具链的管理效率和应用效率。DevOps工具链的管理效率和应用效率。

【技术实现步骤摘要】
一种管理DevOps工具链的方法和系统


[0001]本专利技术涉及软件信息
,特别是涉及一种管理DevOps工具链的方法和一种管理DevOps工具链的系统。

技术介绍

[0002]Jenkins是一个开源的、可扩展的持续集成、交付、部署的基于web界面的软件开发运维平台,允许持续集成和持续交付项目。为了满足用户的特定需求,Jenkins提供了数量众多、功能各异的工具,这些工具也使得Jenkins的功能得到了极大程度的拓展。
[0003]但是,目前Jenkins使用插件管理器来配置这些工具,只针对工具的鉴权和调用,还是需要用户手动安装工具和提供配置信息。并且,如果工具数目增多,安装工具、管理工具、配置Jenkins,以及,工具的鉴权管理等各方面操作都需要花费庞大的人力物力来完成。而这些已安装的种类繁多、还可能存在各种历史版本的DevOps工具链,也将占用大量的服务器CPU资源和内存资源。而且,这些DevOps工具链不仅使用权限配置繁杂、环境配置复杂,造成工具利用率和服务器性能低下,还会向外暴露过多端口,使得服务器存在巨大的网络安全隐患。

技术实现思路

[0004]鉴于上述问题,本专利技术实施例提出了一种克服上述问题或者至少部分地解决上述问题的一种管理DevOps工具链的方法和一种管理DevOps工具链的系统。
[0005]为了解决上述问题,本专利技术实施例提供了一种管理DevOps工具链的方法,所述方法包括:
[0006]获取原始DevOps工具链;
[0007]得到包含所述原始DevOps工具链的一个Docker镜像;
[0008]在检测到新的Jenkins流水线构建初始化时,响应于对所述原始DevOps工具链中的目标DevOps工具链的安装请求,基于所述Docker镜像,为所述Jenkins流水线镜像安装所述目标DevOps工具链;
[0009]在检测到所述Jenkins流水线执行完毕之后,自动卸载所述目标DevOps工具链。
[0010]可选的,获取原始DevOps工具链,包括:
[0011]从预设的开源仓库远程获取Jenkins执行流程链路上的原始DevOps工具链;
[0012]其中,所述原始DevOps工具链均以Docker方式启动。
[0013]可选的,所述DevOps工具链至少包括以下任一项:代码检查、制品检查、自动化测试、报告输出、日志收集、编译、质量门禁、自定义插件。
[0014]可选的,在检测到新的Jenkins流水线构建初始化时,响应于对所述原始DevOps工具链中的目标DevOps工具链的安装请求,基于所述Docker镜像,为所述Jenkins流水线镜像安装所述目标DevOps工具链,包括:
[0015]在检测到新的Jenkins流水线构建初始化时,建立所述Jenkins流水线与所述
Docker镜像之间的引用关系;
[0016]接收对所述原始DevOps工具链中的目标DevOps工具链的安装请求,所述安装请求携带用户或者环境条件从DevOps工具链页面中选择的DevOps工具链路径;其中,所述DevOps工具链页面是根据所述原始DevOps工具链的名称生成的可视化选择页面,包含所述原始DevOps工具链的名称和路径;
[0017]根据所述安装请求中的DevOps工具链路径,从所述Docker镜像中获取所述目标DevOps工具链;
[0018]基于镜像安装的方式,将所述目标DevOps工具链安装到预设Docker容器内,以使所述Jenkins流水线从所述预设Docker容器调用所述目标DevOps工具链。
[0019]可选的,在检测到所述Jenkins流水线执行完毕之后,自动卸载所述目标DevOps工具链,包括:
[0020]在检测到所述Jenkins流水线执行报错或部署完成的时候,调用回调函数以卸载所述目标DevOps工具链;
[0021]其中,所述回调函数是在构建所述Jenkins流水线时所定义的。
[0022]本专利技术实施例还提供了一种管理DevOps工具链的系统,所述系统包括:
[0023]工具获取单元,用于获取原始DevOps工具链;
[0024]Docker镜像生成单元,用于得到包含所述原始DevOps工具链的一个Docker镜像;
[0025]工具安装单元,用于在检测到新的Jenkins流水线构建初始化时,响应于对所述原始DevOps工具链中的目标DevOps工具链的安装请求,基于所述Docker镜像,为所述Jenkins流水线镜像安装所述目标DevOps工具链;
[0026]工具卸载单元,用于在检测到所述Jenkins流水线执行完毕之后,自动卸载所述目标DevOps工具链。
[0027]可选的,所述工具获取单元,包括:
[0028]远程工具获取单元,用于从预设的开源仓库远程获取Jenkins执行流程链路上的原始DevOps工具链;
[0029]其中,所述原始DevOps工具链均以Docker方式启动。
[0030]可选的,所述DevOps工具链至少包括以下任一项:代码检查、制品检查、自动化测试、报告输出、日志收集、编译、质量门禁、自定义插件。
[0031]可选的,所述工具安装单元,包括:
[0032]镜像包引用单元,用于在检测到新的Jenkins流水线构建初始化时,建立所述Jenkins流水线与所述Docker镜像之间的引用关系;
[0033]安装请求接收单元,用于接收对所述原始DevOps工具链中的目标DevOps工具链的安装请求,所述安装请求携带用户或者环境条件从DevOps工具链页面中选择的DevOps工具链路径;其中,所述DevOps工具链页面是根据所述原始DevOps工具链的名称生成的可视化选择页面,包含所述原始DevOps工具链的名称和路径;
[0034]镜像查询单元,用于根据所述安装请求中的DevOps工具链路径,从所述Docker镜像中获取所述目标DevOps工具链;
[0035]镜像安装单元,用于基于镜像安装的方式,将所述目标DevOps工具链安装到预设Docker容器内,以使所述Jenkins流水线从所述预设Docker容器调用所述目标DevOps工具
链。
[0036]可选的,所述工具卸载单元,包括:
[0037]回调函数卸载单元,用于在检测到所述Jenkins流水线执行报错或部署完成的时候,调用回调函数以卸载所述目标DevOps工具链;
[0038]其中,所述回调函数是在构建所述Jenkins流水线时所定义的。
[0039]从上述技术方案可以看出,本专利技术实施例提供了一种管理DevOps工具链的方法和一种管理DevOps工具链的系统,基于包含原始DevOps工具链的Docker镜像,根据用户或环境的需求,以镜像安装的方式,为各个Jenkins流水线单独自动镜像安装工具,并在流水线实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种管理DevOps工具链的方法,其特征在于,所述方法包括:获取原始DevOps工具链;得到包含所述原始DevOps工具链的一个Docker镜像;在检测到新的Jenkins流水线构建初始化时,响应于对所述原始DevOps工具链中的目标DevOps工具链的安装请求,基于所述Docker镜像,为所述Jenkins流水线镜像安装所述目标DevOps工具链;在检测到所述Jenkins流水线执行完毕之后,自动卸载所述目标DevOps工具链。2.根据权利要求1所述的方法,其特征在于,获取原始DevOps工具链,包括:从预设的开源仓库远程获取Jenkins执行流程链路上的原始DevOps工具链;其中,所述原始DevOps工具链均以Docker方式启动。3.根据权利要求1所述的方法,其特征在于,所述DevOps工具链至少包括以下任一项:代码检查、制品检查、自动化测试、报告输出、日志收集、编译、质量门禁、自定义插件。4.根据权利要求1所述的方法,其特征在于,在检测到新的Jenkins流水线构建初始化时,响应于对所述原始DevOps工具链中的目标DevOps工具链的安装请求,基于所述Docker镜像,为所述Jenkins流水线镜像安装所述目标DevOps工具链,包括:在检测到新的Jenkins流水线构建初始化时,建立所述Jenkins流水线与所述Docker镜像之间的引用关系;接收对所述原始DevOps工具链中的目标DevOps工具链的安装请求,所述安装请求携带用户或者环境条件从DevOps工具链页面中选择的DevOps工具链路径;其中,所述DevOps工具链页面是根据所述原始DevOps工具链的名称生成的可视化选择页面,包含所述原始DevOps工具链的名称和路径;根据所述安装请求中的DevOps工具链路径,从所述Docker镜像中获取所述目标DevOps工具链;基于镜像安装的方式,将所述目标DevOps工具链安装到预设Docker容器内,以使所述Jenkins流水线从所述预设Docker容器调用所述目标DevOps工具链。5.根据权利要求1所述的方法,其特征在于,在检测到所述Jenkins流水线执行完毕之后,自动卸载所述目标DevOps工具链,包括:在检测到所述Jenkins流水线执行报错或部署完成的时候,调用回调函数以卸载所述目标DevOps工具链;其中,所述回调函数是在构建所述Jenkins流水...

【专利技术属性】
技术研发人员:宋悦张玮
申请(专利权)人:上海安畅网络科技股份有限公司
类型:发明
国别省市:

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

1