System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件开发,尤其涉及一种基于可执行包的镜像制作方法、装置、服务器、介质及产品。
技术介绍
1、在金融机构中,通过镜像模式进行制品分发和基于容器镜像的应用管理已逐渐成熟。其中,利用可执行包(如jar包)进行镜像制作较为常用的方式之一。
2、以目前主流的springboot镜像制作方式为例,首先利用项目构建工具(如maven,gradle等)生成springboot的可执行jar包,然后再基于软件开发工具包(如java语言的软件开发工具包,jdk)对应的基础镜像,增加的可执行jar文件和启动命令、以及其他镜像配置,形成完整镜像,并在运行环境以生成的镜像启动执行。
3、但由于镜像本身存在资源复用的叠加的特点,如上述方式中利用完整可执行包打出的运行时镜像,会包含全部依赖文件。换言之,针对同一应用的多个版本,每次制作的镜像都全量包含所有依赖文件,使得最终打入镜像的文件过于庞大,这将导致多个版本的重复存储文件占用大量的仓库存储空间。
技术实现思路
1、本申请提供一种基于可执行包的镜像制作方法、装置、服务器、介质及产品,用以解决基于可执行包构建镜像,多个版本的重复存储文件占用大量仓库存储空间的问题。
2、第一方面,本申请提供一种基于可执行包的镜像制作方法,包括:
3、响应于目标应用镜像的构建请求,获取预生成的关于所述目标应用镜像的可执行包;
4、对所述可执行包进行解压缩,得到解压缩文件;
5、将所述解压缩文件中的文件
6、将所述固定镜像文件转移至固定镜像构建目录中,并将所述版本镜像文件转移至版本镜像构建目录中;
7、调用所述目标应用镜像上一版本的固定镜像;以及,根据所述版本镜像构建目录和所述固定镜像构建所述目标应用镜像。
8、在一种实施方式中,所述方法还包括:
9、确定所述目标应用镜像的过程配置信息,所述过程配置信息包括针对固定镜像文件的第一标识和针对版本镜像文件的第二标识;
10、根据所述过程配置信息,通过项目构建工具生成关于所述目标应用镜像的可执行包;
11、所述将所述解压缩文件中的文件分离成固定镜像文件和版本镜像文件,包括:
12、根据所述第一标识和所述第二标识,将所述解压缩文件中的文件分离成所述固定镜像文件和版本镜像文件。
13、在一种实施方式中,在调用所述目标应用镜像上一版本的固定镜像之前,还包括:
14、确定镜像仓库中是否存在所述目标应用镜像上一版本的固定镜像,且所述固定镜像为待使用固定镜像;
15、所述调用所述目标应用镜像上一版本的固定镜像,包括:在确定存在所述目标应用镜像上一版本的固定镜像且为待使用固定镜像时,调用所述目标应用镜像上一版本的固定镜像。
16、在一种实施方式中,还包括:
17、在确定不存在所述目标应用镜像上一版本的固定镜像或者非待使用固定镜像时,根据所述固定镜像构建目录构建新的固定镜像。
18、在一种实施方式中,所述根据所述版本镜像构建目录和所述固定镜像构建所述目标应用镜像,包括:
19、基于所述版本镜像构建目录和所述固定镜像生成镜像构建文件;
20、基于预置的执行构建命令执行所述镜像构建文件,以构建所述目标应用镜像。
21、在一种实施方式中,所述过程配置信息还包括所述目标应用镜像的上一版本的固定镜像标签;
22、所述调用所述目标应用镜像上一版本的固定镜像,包括:根据所述固定镜像标签调用所述目标应用镜像上一版本的固定镜像。
23、在一种实施方式中,所述过程配置信息还包括所述目标应用镜像的名称和/或版本号;所述方法还包括:
24、在构建所述目标应用镜像时,在所述目标应用镜像中添加所述名称和/或所述版本号。
25、在一种实施方式中,还包括:
26、将所述固定镜像和/或所述目标应用镜像发布至镜像仓库中,并生成关于所述固定镜像和/或所述目标应用镜像的仓库地址的配置信息。
27、第二方面,本申请提供一种基于可执行包的镜像制作装置,包括:
28、获取模块,其设置为响应于目标应用镜像的构建请求,获取预生成的关于所述目标应用镜像的可执行包;
29、解压缩模块,其设置为对所述可执行包进行解压缩,得到解压缩文件;
30、资源分离模块,其设置为将所述解压缩文件中的文件分离成固定镜像文件和版本镜像文件;
31、转移模块,其设置为根据目标目录路径,将所述固定镜像文件转移至固定镜像构建目录中,并将所述版本镜像文件转移至版本镜像构建目录中;
32、调用及构建模块,其设置为调用所述目标应用镜像上一版本的固定镜像;以及,根据所述版本镜像构建目录和所述固定镜像构建所述目标应用镜像。
33、在一种实施方式中,该装置还包括:
34、第一确定模块,其设置为确定所述目标应用镜像的过程配置信息,所述过程配置信息包括针对固定镜像文件的第一标识和针对版本镜像文件的第二标识;
35、生成模块,其设置为根据所述过程配置信息,通过项目构建工具生成关于所述目标应用镜像的可执行包;
36、所述资源分离模块,具体设置为根据所述第一标识和所述第二标识,将所述解压缩文件中的文件分离成所述固定镜像文件和版本镜像文件。
37、在一种实施方式中,所述装置还包括:
38、第二确定模块,其设置为确定镜像仓库中是否存在所述目标应用镜像上一版本的固定镜像,且所述固定镜像为待使用固定镜像;
39、所述调用所述目标应用镜像上一版本的固定镜像,包括:在确定存在所述目标应用镜像上一版本的固定镜像且为待使用固定镜像时,调用所述目标应用镜像上一版本的固定镜像。
40、在一种实施方式中,所述装置还包括:
41、固定镜像构建模块,其设置为在确定不存在所述目标应用镜像上一版本的固定镜像或者非待使用固定镜像时,根据所述固定镜像构建目录构建新的固定镜像。
42、在一种实施方式中,所述调用及构建模块,包括:
43、生成单元,其设置为基于所述版本镜像构建目录和所述固定镜像生成镜像构建文件;
44、构建单元,其设置为基于预置的执行构建命令执行所述镜像构建文件,以构建所述目标应用镜像。
45、在一种实施方式中,所述过程配置信息还包括所述目标应用镜像的上一版本的固定镜像标签;所述调用及构建模块,具体设置为根据所述固定镜像标签调用所述目标应用镜像上一版本的固定镜像。
46、在一种实施方式中,所述过程配置信息还包括所述目标应用镜像的名称和/或版本号;所述装置还包括:添加模块,其设置为在构建所述目标应用镜像时,在所述目标应用镜像中添加所述名称和/或所述版本号。
47、在一种实施方式中,所述装置还包括:发本文档来自技高网...
【技术保护点】
1.一种基于可执行包的镜像制作方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1或2所述的方法,其特征在于,在调用所述目标应用镜像上一版本的固定镜像之前,还包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述版本镜像构建目录和所述固定镜像构建所述目标应用镜像,包括:
6.根据权利要求2所述的方法,其特征在于,所述过程配置信息还包括所述目标应用镜像的上一版本的固定镜像标签;
7.根据权利要求2或6所述的方法,其特征在于,所述过程配置信息还包括所述目标应用镜像的名称和/或版本号;所述方法还包括:
8.根据权利要求1或2所述的方法,其特征在于,还包括:
9.一种基于可执行包的镜像制作装置,其特征在于,包括:
10.根据权利要求9所述的装置,其特征在于,还包括:
11.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
12.一种服务器,
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的基于可执行包的镜像制作方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-8中任一项所述的基于可执行包的镜像制作方法。
...【技术特征摘要】
1.一种基于可执行包的镜像制作方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1或2所述的方法,其特征在于,在调用所述目标应用镜像上一版本的固定镜像之前,还包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述版本镜像构建目录和所述固定镜像构建所述目标应用镜像,包括:
6.根据权利要求2所述的方法,其特征在于,所述过程配置信息还包括所述目标应用镜像的上一版本的固定镜像标签;
7.根据权利要求2或6所述的方法,其特征在于,所述过程配置信息还包括所述目标应用镜像的名称和/或版本号;所述方法还包括:
8.根据权...
【专利技术属性】
技术研发人员:刘健,杨艳光,徐莎莎,张同虎,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。