一种基于容器的微服务软件版本管理方法及装置制造方法及图纸

技术编号:34894036 阅读:24 留言:0更新日期:2022-09-10 13:53
本发明专利技术提供一种基于容器的微服务软件版本管理方法及装置,所述软件版本管理方法包括:S1、触发Shell打包脚本程序,对当前的软件的版本号进行更新;S2、运行Shell打包脚本程序对所述软件中的所有子项目生成子项目标签;S3、触发容器镜像构建任务,构建容器镜像;S4、根据所述子项目标签命名所述容器镜像。本发明专利技术解决了不同微服务软件版本中的微服务子项目版本的一致性,以及软件发布后调用的便利性。以及软件发布后调用的便利性。以及软件发布后调用的便利性。

【技术实现步骤摘要】
一种基于容器的微服务软件版本管理方法及装置


[0001]本专利技术属于软件
,具体而言属于一种基于容器的微服务软件版本管理方法及装置。

技术介绍

[0002]容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了容器引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
[0003]微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。
[0004]现在越来越多的软件基于微服务的架构进行开发,一个云原生的微服务软件的发布,往往包含了十数个甚至数十个子服务项目,传统的软件版本管理方法,已不适用这种场景。
[0005]传统的软件往往都是单体应用,软件的版本管理也较为简单,一个包即为一个软件。但是在云原生时代的微服务软件中,包含了数十个微服务子项目,一个软件的版本是由这数十个微服务子项目构成的,不同的微服务子项目版本之间不能直接调用使用,更新后的微服务软件版本与微服务子项目版本混乱,不易查找与调用。
[0006]有鉴于此,特提出本专利技术。

技术实现思路

[0007]有鉴于此,本专利技术公开了一种基于容器的微服务软件版本管理方法及装置,用以解决不同微服务软件版本中的微服务子项目版本的一致性,以及软件发布后调用的便利性。
[0008]具体的,本专利技术是通过以下技术方案实现的:
[0009]第一方面,本专利技术公开了一种基于容器的微服务软件版本管理方法,包括如下步骤:
[0010]S1、触发Shell打包脚本程序,对当前的软件的版本号进行更新;
[0011]S2、运行Shell打包脚本程序对所述软件中的所有子项目生成子项目标签;
[0012]S3、触发容器镜像构建任务,构建容器镜像;
[0013]S4、根据所述子项目标签命名所述容器镜像。
[0014]进一步地,所述S1步骤中,所述更新的方法包括:所述Shell打包脚本程序读取当前所述软件的版本号,根据版本号规则标记更新后的版本号。
[0015]具体地,版本号规则可以自定义,通过自定义的版本号规则制定新的版本号可以便于查找软件的各个版本。
[0016]具体地,可以采用git Tag手段作为标记版本号的方式,git Tag还具有追溯代码位置的功能。
[0017]进一步地,所述S2步骤中,所述子项目标签包括所述软件更新后的版本号和子项目名称。
[0018]具体地,通过将子项目标签中带上更新后的软件版本号,可以方便后续排查问题时快速定位到查找同一软件版本的所有子项目,也可以通过一个子项目标签定位到软件中其他子项目版本。
[0019]进一步地,所述S3步骤中,所述容器镜像包括所述软件的软件容器镜像和所有所述子项目的子项目容器镜像。
[0020]具体地,通过构建软件容器镜像和子项目容器镜像,将容器镜像推送至指定的镜像仓库,便于用户自由下载微服务软件。
[0021]进一步地,所述S4步骤中,使用所述软件更新后的版本号作为所述软件容器镜像的名称,使用所述子项目名称作为所述子项目容器镜像的容器镜像标签。
[0022]具体地,通过将更新后的软件版本号作为容器镜像名称,所有子项目标签作为各自的容器镜像标签可以更方便的在镜像仓库中定位到所需版本的微服务软件和其同一版本的所有微服务子项目。
[0023]进一步地,所有所述子项目容器镜像包含在所述软件容器镜像中。
[0024]具体地,通过将所有子项目容器镜像包含在软件容器镜像中,可以更快速准确的定位到该软件版本下的所有子项目。
[0025]第二方面,本专利技术公开了一种基于容器的微服务软件版本管理装置,包括:
[0026]版本号更新模块:触发Shell打包脚本程序,对当前的软件的版本号进行更新;
[0027]子项目标记模块:运行Shell打包脚本程序对所述软件中的所有子项目生成子项目标签;
[0028]容器镜像构建模块:触发容器镜像构建任务,构建容器镜像;
[0029]容器镜像命名模块:根据所述子项目标签命名所述容器镜像。
[0030]第三方面,本专利技术公开了一种计算机可读存储介质,其上存储有计算机程序所述程序被处理器执行时实现如第一方面所述软件版本管理方法的步骤。
[0031]第四方面,本专利技术公开了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述软件版本管理方法的步骤。
[0032]与现有技术相比,本专利技术的有益效果在于:
[0033]本专利技术提出的微服务软件版本及装置,通过所有子项目都带有同一个版本号,使得在后续排查问题时,可以方便快速定位到软件中的所有子项目版本;通过使用版本号作为软件容器镜像名称,所有子项目标签作为各自子项目容器镜像标签,使得在管理与查看一个软件版本对应的所有子项目容器镜像时更方便快捷。
附图说明
[0034]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术
的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0035]图1为本专利技术实施例提供的微服务软件版本管理方法流程图;
[0036]图2为本专利技术实施例提供的微服务软件版本管理方法操作流程图;
[0037]图3为本专利技术实施例提供的微服务软件版本管理装置示意图;
[0038]图4为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0039]下面将结合附图和具体实施方式对本专利技术的技术方案进行清楚、完整地描述,但是本领域技术人员将会理解,下列所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,仅用于说明本专利技术,而不应视为限制本专利技术的范围。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0040]为了更加清晰的对本专利技术中的技术方案进行阐述,下面以具体实施例的形式进行说明。
[0041]实施例
[0042]参照图1所示,本专利技术公开了一种基于容器的微服务软件版本管理方法,包括如下步骤:
[0043]S1、触发Shell打包脚本程序,对当前的软件的版本号进行更新;
[0044]S2、运行Shell打包脚本程序对所述软件中的所有子项目生成子项目标签;
[0045]S3、触发容器镜像构建任务,构建容器镜像;
[0046]S4、根据所述子项目标签命名所述容器镜像。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器的微服务软件版本管理方法,其特征在于,包括以下步骤:S1、触发Shell打包脚本程序,对当前的软件的版本号进行更新;S2、运行Shell打包脚本程序对所述软件中的所有子项目生成子项目标签;S3、触发容器镜像构建任务,构建容器镜像;S4、根据所述子项目标签命名所述容器镜像。2.根据权利要求1所述的微服务软件版本管理方法,其特征在于,所述S1步骤中,所述更新的方法包括:所述Shell打包脚本程序读取当前所述软件的版本号,根据版本号规则标记更新后的版本号。3.根据权利要求1所述的微服务软件版本管理方法,其特征在于,所述S2步骤中,所述子项目标签包括所述软件更新后的版本号和子项目名称。4.根据权利要求3所述的微服务软件版本管理方法,其特征在于,所述S3步骤中,所述容器镜像包括所述软件的软件容器镜像和所有所述子项目的子项目容器镜像。5.根据权利要求4所述的微服务软件版本管理方法,其特征在于,所述S4步骤中,使用所述软件更新后的版本号作为所述软件容器镜像的名称,使用所述子项目名称作为所述子...

【专利技术属性】
技术研发人员:蒋烁淼陆宏鸣
申请(专利权)人:上海驻云信息科技有限公司
类型:发明
国别省市:

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

1