一种云应用部署方法、装置、设备和存储介质制造方法及图纸

技术编号:38810567 阅读:12 留言:0更新日期:2023-09-15 19:49
本申请公开了一种云应用部署方法、装置、设备和存储介质,其中,云应用部署方法包括:响应于云应用的升级指令,获取云应用在K8S集群中包管理器的模板文件内各个应用描述包中目标目录下的目标文件;基于应用描述包中目标目录下目标文件内所含的合并策略,对云应用旧版本和新版本的模板文件中对应应用描述包的值配置文件进行合并;将应用描述包合并后的值配置文件中配置信息,反馈至新版本的模板文件中最上层应用描述包的值配置文件,基于新版本的模板文件中最上层应用描述包的值配置文件,部署云应用,上述方案,能够适应不同云应用升级场景下对升级配置灵活选取的需求。场景下对升级配置灵活选取的需求。场景下对升级配置灵活选取的需求。

【技术实现步骤摘要】
一种云应用部署方法、装置、设备和存储介质


[0001]本申请涉及软件管理
,特别是涉及一种云应用部署方法、装置、设备和存储介质。

技术介绍

[0002]CICD是持续集成(Continuous Integration)和持续部署(Continuous Deployment)的简称。指在开发过程中自动执行一系列脚本来减低开发引入bug的概率,在新代码从开发到部署的过程中,尽量减少人工的介入,CICD能够提高应用交付的效率。
[0003]在云应用升级时,伴随着对升级所用的升级配置的确定,现有的云应用升级过程中直接采用新本应用配置作为升级配置,处理方式较为死板,不能够适应不同场景下对升级配置灵活选取的需求。

技术实现思路

[0004]本申请主要解决的技术问题是提供一种云应用部署方法、装置、设备和存储介质,能够适应不同云应用升级场景下对升级配置灵活选取的需求。
[0005]为了解决上述问题,本申请第一方面提供了一种云应用部署方法,包括:响应于云应用的升级指令,获取云应用在K8S集群中包管理器的模板文件内各个应用描述包中目标目录下的目标文件;其中,目标目录下的目标文件预先定义于应用描述包中,且应用描述包中目标目录下的目标文件包含云应用升级时对应应用描述包的值配置文件的合并策略;基于应用描述包中目标目录下目标文件内所含的合并策略,对云应用旧版本和新版本的模板文件中对应应用描述包的值配置文件进行合并;将应用描述包合并后的值配置文件中配置信息,反馈至新版本的模板文件中最上层应用描述包的值配置文件,基于新版本的模板文件中最上层应用描述包的值配置文件,部署云应用。
[0006]其中,模板文件包含至少一层,且各层包含至少一个应用描述包,在获取云应用在K8S集群中包管理器的模板文件内各个应用描述包中目标目录下的目标文件之前,该方法还包括:在模板文件中当前层内,依次选择各个应用描述包作为当前应用描述包;获取云应用的模板文件内各个应用描述包中目标目录下的目标文件,包括:获取当前应用描述包中目标目录下的目标文件;基于应用描述包中目标目录下目标文件内所含的合并策略,对云应用旧版本和新版本的模板文件中对应应用描述包的值配置文件进行合并,包括:基于当前应用描述包中目标目录下目标文件内所含的合并策略,对云应用旧版本和新版本的模板文件中当前应用描述包的值配置文件进行合并。
[0007]其中,在当前层内的应用描述包均被选择的情况下,在基于新版本的模板文件中最上层应用描述包的值配置文件,部署云应用之前,该方法还包括:检测当前层是否存在下一层;响应于存在下一层,选择下一层作为新的当前层,并重新执行在模板文件中当前层内,依次选择各个应用描述包作为当前应用描述包的步骤;响应于不存在下一层,执行基于新版本的模板文件中最上层应用描述包的值配置文件,部署云应用的步骤。
[0008]其中,合并策略包括值配置文件中各配置项的子策略,子策略为以新版本替换旧版本、保留旧版本中任一者。
[0009]其中,该方法还包括:基于开发设备的第一硬件架构,将云应用的源代码编程为适用于第一硬件架构的二进制文件,并基于第二硬件架构的模拟器,将云应用的源代码编程为适用于第二硬件架构的二进制文件;其中,第二硬件架构不同于第一硬件架构,且第一硬件架构和第二硬件架构均为云应用可能部署设备的硬件架构;分别基于不同硬件架构的二进制文件进行打包,得到云应用对应硬件架构的镜像文件;基于不同硬件架构的镜像文件,合并得到多架构镜像文件;其中,多架构镜像文件用于供云应用的待部署设备基于自身的硬件架构部署云应用。
[0010]其中,源代码中定义有不同硬件架构的二进制文件在开发设备的存储目录,在分别基于不同硬件架构的二进制文件进行打包,得到云应用对应硬件架构的镜像文件之前,该方法还包括:将编程得到的二进制文件,存入对应二进制文件所属的硬件架构在源代码中设定的存储目录中;分别基于不同硬件架构的二进制文件进行打包,得到云应用对应硬件架构的镜像文件,包括:从源代码定义的存储目录中,提取不同硬件架构的二进制文件,并基于提取到的二进制文件,打包得到镜像文件。
[0011]其中,模板文件还设有资源目录,资源目录下存有不同硬件规模所需资源的值配置文件,用于在部署云应用时,基于部署云应用的硬件规模,选择相应硬件规模的值配置文件。
[0012]其中,该方法还包括:在待部署设备创建目标容器,并检测云应用是否发布有与待部署设备的硬件架构相匹配的目标镜像文件;响应于发布有目标镜像文件,拉取目标镜像文件,并运行目标容器,以在待部署设备部署云应用。
[0013]其中,该方法还包括:响应于对模板文件的编辑指令,基于对任一值配置文件的选择指令,将被选择的值配置文件作为目标值配置文件;展示目标值配置文件,并接受对目标值配置文件的修改;将目标值配置文件中最新的配置信息,反馈至新版本的模板文件中最上层应用描述包的值配置文件。
[0014]为了解决上述问题,本申请第二方面提供了一种云应用部署装置,包括:获取模块、合并模块、反馈模块和部署模块,获取模块用于响应于云应用的升级指令,获取云应用的模板文件内各个应用描述包中目标目录下的目标文件;其中,目标目录下的目标文件预先定义于应用描述包中,且应用描述包中目标目录下的目标文件包含云应用升级时对应应用描述包的值配置文件的合并策略;合并模块用于基于应用描述包中目标目录下目标文件内所含的合并策略,对云应用旧版本和新版本的模板文件中对应应用描述包的值配置文件进行合并;反馈模块用于将应用描述包合并后的值配置文件中配置信息,反馈至新版本的模板文件中最上层应用描述包的值配置文件;部署模块用于基于新版本的模板文件中最上层应用描述包的值配置文件,部署云应用。
[0015]为了解决上述问题,本申请第三方面提供了一种电子设备,包括通信电路、存储器和处理器,通信电路、存储器分别与处理器耦接,存储器存储有程序指令,处理器用于执行程序指令以实现上述第一方面的云应用部署方法。
[0016]为了解决上述问题,本申请第四方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的云应用部署方法。
[0017]上述方案,在云应用升级时,能够根据对应的合并策略基于新旧版本的配置进行合并,灵活地确定用于升级的升级配置,并基于升级配置进行云应用部署,能够适应不同云应用升级场景下对升级配置灵活选取的需求。
附图说明
[0018]图1是本申请云应用部署方法一实施例的流程示意图;
[0019]图2是本申请云应用部署方法另一实施例的流程示意图;
[0020]图3是本申请云应用部署方法再一实施例的流程示意图;
[0021]图4是本申请中云应用部署的流程示意图;
[0022]图5是本申请云应用部署方法又一实施例的流程示意图;
[0023]图6是本申请云应用部署方法又一实施例的流程示意图;
[0024]图7是本申请云应用部署方法又一实施例的流程示意图;
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云应用部署方法,其特征在于,包括:响应于云应用的升级指令,获取所述云应用在K8S集群中包管理器的模板文件内各个应用描述包中目标目录下的目标文件;其中,所述目标目录下的目标文件预先定义于所述应用描述包中,且所述应用描述包中所述目标目录下的目标文件包含所述云应用升级时对应所述应用描述包的值配置文件的合并策略;基于所述应用描述包中所述目标目录下所述目标文件内所含的合并策略,对所述云应用旧版本和新版本的模板文件中对应所述应用描述包的值配置文件进行合并;将所述应用描述包合并后的值配置文件中配置信息,反馈至所述新版本的模板文件中最上层应用描述包的值配置文件;基于所述新版本的模板文件中最上层应用描述包的值配置文件,部署所述云应用。2.根据权利要求1所述的方法,其特征在于,所述模板文件包含至少一层,且各层包含至少一个应用描述包,在所述获取所述云应用在K8S集群中包管理器的模板文件内各个应用描述包中目标目录下的目标文件之前,所述方法还包括:在所述模板文件中当前层内,依次选择各个所述应用描述包作为当前应用描述包;所述获取所述云应用的模板文件内各个应用描述包中目标目录下的目标文件,包括:获取所述当前应用描述包中所述目标目录下的目标文件;所述基于所述应用描述包中所述目标目录下所述目标文件内所含的合并策略,对所述云应用旧版本和新版本的模板文件中对应所述应用描述包的值配置文件进行合并,包括:基于所述当前应用描述包中所述目标目录下所述目标文件内所含的合并策略,对所述云应用旧版本和新版本的模板文件中所述当前应用描述包的值配置文件进行合并。3.根据权利要求2所述的方法,其特征在于,在所述当前层内的应用描述包均被选择的情况下,在所述基于所述新版本的模板文件中最上层应用描述包的值配置文件,部署所述云应用之前,所述方法还包括:检测所述当前层是否存在下一层;响应于存在所述下一层,选择所述下一层作为新的当前层,并重新执行所述在所述模板文件中当前层内,依次选择各个所述应用描述包作为当前应用描述包的步骤;响应于不存在所述下一层,执行所述基于所述新版本的模板文件中最上层应用描述包的值配置文件,部署所述云应用的步骤。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于开发设备的第一硬件架构,将所述云应用的源代码编程为适用于所述第一硬件架构的二进制文件,并基于第二硬件架构的模拟器,将所述云应用的源代码编程为适用于所述第二硬件架构的...

【专利技术属性】
技术研发人员:张明泽高伟江文龙周明伟
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1