本公开涉及软件,尤其涉及一种软件升级包生成方法、装置、设备和存储介质。
背景技术:
1、软件升级是保持计算机系统和应用程序功能最新和安全的关键过程。然而,传统软件升级方法通常需要用户手动下载、安装和组包升级,这可能耗费时间、过程复杂且容易出错。因此,需要一种更有效、便捷和自动化的方法来协助版本管理人员打软件升级包。
技术实现思路
1、有鉴于此,本公开实施例提供了一种软件升级包生成方法、装置、设备和存储介质,能够使软件升级打包变的高效简洁,减少用户手动打升级包操作的需要。
2、第一方面,本公开实施例提供了一种软件升级包生成方法,采用如下技术方案:
3、软件升级包生成方法包括:
4、将软件的当前版本和待升级版本下的所有组件进行比对,筛选出待升级组件;
5、从git仓库拉取当前版本下的软件升级包工程,生成初始软件升级包文件;
6、遍历待升级组件,从git仓库拉取每个待升级组件对应的分支工程,得到待升级组件的代码,对代码进行打包处理,得到待升级组件对应的打包文件,并将打包文件按照升级包结构塞入初始软件升级包文件;
7、待所有待升级组件对应的打包文件按照升级包结构塞入初始软件升级包文件,将待升级版本的信息添加到初始软件升级包文件中的相应位置,得到更新后的软件升级包文件;
8、对更新后的软件升级包文件进行组包处理,得到待升级版本对应的最终软件升级包。
9、在第一方面的一种可能的实施方式中,将软件的当前版本和待升级版本下的所有组件进行比对,筛选出待升级组件,包括:将待升级版本下的所有组件逐一与当前版本下的组件进行比对;将待升级版本中存在但当前版本中不存在的组件,以及在待升级版本和当前版本中名称相同且版本不同的组件确定为待升级组件。
10、在第一方面的一种可能的实施方式中,从git仓库拉取每个待升级组件的代码,包括:获取每个待升级组件的git仓库地址和拉包秘钥;根据git仓库地址拉取到待升级组件对应的分支工程;根据拉包秘钥对分支工程进行解密;从解密后的分支工程拉取待升级组件的代码。
11、在第一方面的一种可能的实施方式中,初始软件升级包文件包括脚本文件,对代码进行打包处理,包括:根据脚本文件中的升级脚本对代码进行打包处理。
12、在第一方面的一种可能的实施方式中,将打包文件按照升级包结构塞入初始软件升级包文件,包括:将打包文件拷贝至初始软件升级包文件中的待升级组件对应的目录下。
13、在第一方面的一种可能的实施方式中,初始软件升级包文件还包括配置文件,将待升级版本的信息添加到初始软件升级包文件中的相应位置,包括:将待升级版本的信息添加至配置文件。
14、在第一方面的一种可能的实施方式中,在将打包文件按照升级包结构塞入初始软件升级包文件之后,软件升级包生成方法还包括:删除待升级组件对应的分支工程。
15、第二方面,本公开实施例还提供了一种软件升级包生成装置,采用如下技术方案:
16、软件升级包生成装置包括:
17、对比筛选模块,用于将软件的当前版本和待升级版本下的所有组件进行比对,筛选出待升级组件;
18、生成模块,用于从git仓库拉取当前版本下的软件升级包工程,生成初始软件升级包文件;
19、打包模块,用于遍历待升级组件,从git仓库拉取每个待升级组件对应的分支工程,得到待升级组件的代码,对代码进行打包处理,得到待升级组件对应的打包文件,并将打包文件按照升级包结构塞入初始软件升级包文件;
20、更新模块,用于待所有待升级组件对应的打包文件按照升级包结构塞入初始软件升级包文件,将待升级版本的信息添加到初始软件升级包文件中的相应位置,得到更新后的软件升级包文件。
21、组包模块,对更新后的软件升级包文件进行组包处理,得到待升级版本对应的最终软件升级包。
22、第三方面,本公开实施例还提供了一种电子设备,采用如下技术方案:
23、所述电子设备包括:
24、至少一个处理器;以及,
25、与所述至少一个处理器通信连接的存储器;其中,
26、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上任一所述的软件升级包生成方法。
27、第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行以上任一所述的软件升级包生成方法。
28、本公开实施例中的软件升级包生成方法,先从git仓库拉取当前版本下的软件升级包工程,生成初始软件升级包文件;再将软件的当前版本和待升级版本下的所有组件进行比对,筛选出待升级组件;再遍历待升级组件,从git仓库拉取每个待升级组件对应的分支工程,得到待升级组件的代码,对代码进行打包处理,得到待升级组件对应的打包文件,并将打包文件按照升级包结构塞入初始软件升级包文件;待所有待升级组件对应的打包文件按照升级包结构塞入初始软件升级包文件后,再将待升级版本的信息添加到初始软件升级包文件中的相应位置,得到更新后的软件升级包文件;最后对更新后的软件升级包文件进行组包处理,得到待升级版本对应的最终软件升级包。
29、也就是说,本公开实施例中的软件升级包生成方法通过待升级版本和当前版本对比程序筛选出待升级组件并自动化打包,最终按要求将待升级组件打入初始软件升级包文件内,使软件升级打包变的高效简洁。
30、在实际应用时,可以通过页面管理软件版本及软件内各组件版本等信息,只需通过页面选择对应的软件现有版本和待升级版本即可生成待升级版本的软件升级包,避免了用户手动打升级包的操作过程,减少了用户的工作负担,显著提高了软件升级的效率、安全性和可维护性;同时降低了管理成本和减少了潜在的人为错误,这对于许多组织和用户来说都是一个极具价值的装置。
31、上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
1.一种软件升级包生成方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将软件的当前版本和待升级版本下的所有组件进行比对,筛选出待升级组件,包括:
3.根据权利要求1所述的方法,其特征在于,所述从git仓库拉取每个待升级组件的代码,包括:
4.根据权利要求1所述的方法,其特征在于,所述初始软件升级包文件包括脚本文件,所述对所述代码进行打包处理,包括:
5.根据权利要求1所述的方法,其特征在于,所述将所述打包文件按照升级包结构塞入所述初始软件升级包文件,包括:
6.根据权利要求1所述的方法,其特征在于,所述初始软件升级包文件还包括配置文件,所述将待升级版本的信息添加到所述初始软件升级包文件中的相应位置,包括:
7.根据权利要求1所述的方法,其特征在于,在所述将所述打包文件按照升级包结构塞入所述初始软件升级包文件之后,所述方法还包括:
8.一种软件升级包生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求1-7任一所述的软件升级包生成方法。