CN112214231A - 一种基于ci的虚拟化软件升级包生成方法及系统 - Google Patents

一种基于ci的虚拟化软件升级包生成方法及系统 Download PDF

Info

Publication number
CN112214231A
CN112214231A CN202010985102.9A CN202010985102A CN112214231A CN 112214231 A CN112214231 A CN 112214231A CN 202010985102 A CN202010985102 A CN 202010985102A CN 112214231 A CN112214231 A CN 112214231A
Authority
CN
China
Prior art keywords
rpm
package
upgrade
upgrade package
environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202010985102.9A
Other languages
English (en)
Inventor
栗丽霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010985102.9A priority Critical patent/CN112214231A/zh
Publication of CN112214231A publication Critical patent/CN112214231A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于CI的虚拟化软件升级包生成方法及系统,本发明通过在虚拟化产品装机后扫描系统中所有安装的RPM并记录到指定的配置文件中,从而给基于CI自动打包提供可能,每次集成打包ISO后,触发自动装机,装机完成后自动将不同版本系统的配置环境复制到升级包制作环境,直接通过匹配两个配置文件的方式找出更新的RPM,并且将待升级版本的配置文件也打进升级包,作为升级后是否升级成功的验收标准。本发明升级包的准确性得以提高,升级成功后能够自动进行验证,保证升级后的环境与装机的环境RPM的安装完全一致,并且通过CI环境完成升级包的自动集成测试,不仅加快了升级包制作效率,也节约了人力成本。

Description

一种基于CI的虚拟化软件升级包生成方法及系统
技术领域
本发明涉及虚拟化技术领域,特别是一种基于CI的虚拟化软件升级包生成方法及系统。
背景技术
虚拟化软件包通常是基于两个不同版本的ISO进行RPM(Red-Hat PackageManager,软件包管理器)包的匹配,因为ISO中包括管理节点和计算节点的RPM包,主机通过ISO中配置文件进行区分,管理节点装哪些包,计算节点装哪些包,升级包制作的时候只能将两个不同版本的升级包配置yum源,再分析配置文件以进行管理节点和计算节点的分类,还需要通过yum命令找出配置文件中包的所有依赖,但是如此解析出的RPM包并不能跟装机的RPM包完全对应,导致用此种方法制作的升级包进行升级有风险。基于ISO制作的升级包存在多包、少包,以及利用该升级包升级任务完成后,无法确切知道是否升级成功,是否与直接用ISO装机的环境完全一致,没有一个可以执行的验收标准。
发明内容
本发明的目的是提供一种基于CI的虚拟化软件升级包生成方法及系统,旨在解决现有技术中基于ISO制作的升级包存在多包、少包以及无法确切知道是否升级成功的问题,实现升级成功后能够自动进行验证,提高升级包的准确性以及升级效率。
为达到上述技术目的,本发明提供了一种基于CI的虚拟化软件升级包生成方法,所述方法包括以下操作:
CI环境在制作ISO完成后,自动触发装机,将新生成的ISO复制到打包环境的指定目录中;
解析基础环境的RPM配置文件和升级后的环境的RPM配置文件,匹配需要新增的RPM包、更新的RPM包以及需要删除的RPM包;
将ISO挂载到打包环境的指定目录,获取所有的ISO中的RPM包信息,记录RPM包在挂载目录的位置信息;
将RPM配置文件中解析到的RPM包信息和打包环境目录的ISO中解析的RPM包信息进行匹配,获得待新增或待更新的RPM包位置信息;
复制配置信息到打包目录,自动生成升级配置文件,结合数字签名文件,生成最终升级包。
优选地,所述配置信息包括RPM包、升级包的版本号、依赖版本号、升级包描述信息、发布日期、升级要求、升级范围、新增、更新以及删除的文件信息以及升级前后需要执行的脚本文件。
优选地,所述方法适用于管理节点和计算节点。
优选地,所述最终升级包为zip压缩包。
本发明还提供了一种基于CI的虚拟化软件升级包生成系统,所述系统包括:
升级自动触发模块,用于CI环境在制作ISO完成后,自动触发装机,将新生成的ISO复制到打包环境的指定目录中;
RPM配置文件解析模块,用于解析基础环境的RPM配置文件和升级后的环境的RPM配置文件,匹配需要新增的RPM包、更新的RPM包以及需要删除的RPM包;
IOS挂载模块,用于将ISO挂载到打包环境的指定目录,获取所有的ISO中的RPM包信息,记录RPM包在挂载目录的位置信息;
RPM匹配模块,用于将RPM配置文件中解析到的RPM包信息和打包环境目录的ISO中解析的RPM包信息进行匹配,获得待新增或待更新的RPM包位置信息;
升级包信息生成模块,用于复制配置信息到打包目录,自动生成升级配置文件,结合数字签名文件,生成最终升级包。
优选地,所述配置信息包括RPM包、升级包的版本号、依赖版本号、升级包描述信息、发布日期、升级要求、升级范围、新增、更新以及删除的文件信息以及升级前后需要执行的脚本文件。
优选地,所述系统适用于管理节点和计算节点。
优选地,所述最终升级包为zip压缩包。
本发明还提供了一种基于CI的虚拟化软件升级包生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现所述的基于CI的虚拟化软件升级包生成方法。
本发明还提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现所述的基于CI的虚拟化软件升级包生成方法。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明通过在虚拟化产品装机后扫描系统中所有安装的RPM并记录到指定的配置文件中,从而给基于CI自动打包提供可能,每次集成打包ISO后,触发自动装机,装机完成后自动将不同版本系统的配置环境复制到升级包制作环境,直接通过匹配两个配置文件的方式找出更新的RPM,并且将待升级版本的配置文件也打进升级包,作为升级后是否升级成功的验收标准。本发明升级包的准确性得以提高,升级成功后能够自动进行验证,保证升级后的环境与装机的环境RPM的安装完全一致,并且通过CI环境完成升级包的自动集成测试,不仅加快了升级包制作效率,也节约了人力成本。
附图说明
图1为本发明实施例中所提供的一种基于CI的虚拟化软件升级包生成方法流程图;
图2为本发明实施例中所提供的一种基于CI的虚拟化软件升级包生成系统框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种基于CI的虚拟化软件升级包生成方法及系统进行详细说明。
如图1所示,本发明公开了一种基于CI的虚拟化软件升级包生成方法,所述方法包括以下操作:
CI环境在制作ISO完成后,自动触发装机,将新生成的ISO复制到打包环境的指定目录中;
解析基础环境的RPM配置文件和升级后的环境的RPM配置文件,匹配需要新增的RPM包、更新的RPM包以及需要删除的RPM包;
将ISO挂载到打包环境的指定目录,获取所有的ISO中的RPM包信息,记录RPM包在挂载目录的位置信息;
将RPM配置文件中解析到的RPM包信息和打包环境目录的ISO中解析的RPM包信息进行匹配,获得待新增或待更新的RPM包位置信息;
复制配置信息到打包目录,自动生成升级配置文件,结合数字签名文件,生成升级包。
CI(CONTINUOUS INTEGRATION,持续集成)系统自动制作ISO完成后,自动触发装机,包括管理节点和计算节点,并且包括基础环境的ISO和升级后环境的ISO。为节约等待装机的时间,利用4台性能较快的虚拟机并发装机,装机后将对应的RPM配置文件复制到打包环境的指定目录,所述RPM配置文件记录装机后进行扫描的所有已安装的RPM信息,自动将升级后环境的ISO复制到打包环境的指定目录下,并自动触发升级命令,包括管理节点和计算节点。
由于管理节点和计算节点是分开的,通过打包命令,根据相应的节点类型,获取对应的基础环境的RPM配置文件和升级后的环境的RPM配置文件,分别按行读取RPM信息,并解析出RPM名称、版本等信息,通过数次遍历找出升级包需要新增的RPM包、更新的RPM包以及需要删除的RPM包,并做好记录。
自动生成升级包所需的配置信息,以在自动打包时根据这些配置信息自动生成升级配置文件。所述配置信息除了RPM包信息外,还包括升级包的版本号、依赖版本号、升级包描述信息、发布日期、升级要求(是否需要进入维护模式以及是否需要重启生效等)、升级范围(数据中心、集群、主机)、新增、更新以及删除的文件信息以及升级前后需要执行的脚本文件等。
打包环境中指定目录下的ISO执行挂载命令,将ISO挂载到打包环境的指定目录,通过该目录可访问ISO中所有的RPM包信息,遍历所有的RPM包信息,并记录RPM包在挂载目录的位置信息,通过遍历,找出待新增或待更新的RPM包位置。
依次将新增或更新的RPM包文件、待新增或更新其他配置文件、升级前后需要执行的脚本文件复制到打包环境的打包目录,并自动生成升级配置文件记录这些信息,将以上打包目录压缩成初步的升级包,然后根据初步的升级包自动生成数字签名文件,并将初步的升级包与数字签名文件进一步压缩成zip文件,即最终的升级包。
本发明实施例通过在虚拟化产品装机后扫描系统中所有安装的RPM并记录到指定的配置文件中,从而给基于CI自动打包提供可能,每次集成打包ISO后,触发自动装机,装机完成后自动将不同版本系统的配置环境复制到升级包制作环境,直接通过匹配两个配置文件的方式找出更新的RPM,并且将待升级版本的配置文件也打进升级包,作为升级后是否升级成功的验收标准。本发明升级包的准确性得以提高,升级成功后能够自动进行验证,保证升级后的环境与装机的环境RPM的安装完全一致,并且通过CI环境完成升级包的自动集成测试,不仅加快了升级包制作效率,也节约了人力成本。
如图2所示,本发明实施例还公开了一种基于CI的虚拟化软件升级包生成系统,所述系统包括:
升级自动触发模块,用于CI环境在制作ISO完成后,自动触发装机,将新生成的ISO复制到打包环境的指定目录中;
RPM配置文件解析模块,用于解析基础环境的RPM配置文件和升级后的环境的RPM配置文件,匹配需要新增的RPM包、更新的RPM包以及需要删除的RPM包;
IOS挂载模块,用于将ISO挂载到打包环境的指定目录,获取所有的ISO中的RPM包信息,记录RPM包在挂载目录的位置信息;
RPM匹配模块,用于将RPM配置文件中解析到的RPM包信息和打包环境目录的ISO中解析的RPM包信息进行匹配,获得待新增或待更新的RPM包位置信息;
升级包信息生成模块,用于复制配置信息到打包目录,自动生成升级配置文件,结合数字签名文件,生成最终升级包。
CI系统自动制作ISO完成后,自动触发装机,包括管理节点和计算节点,并且包括基础环境的ISO和升级后环境的ISO。为节约等待装机的时间,利用4台性能较快的虚拟机并发装机,装机后将对应的RPM配置文件复制到打包环境的指定目录,所述RPM配置文件记录装机后进行扫描的所有已安装的RPM信息,自动将升级后环境的ISO复制到打包环境的指定目录下,并自动触发升级命令,包括管理节点和计算节点。
由于管理节点和计算节点是分开的,通过打包命令,根据相应的节点类型,获取对应的基础环境的RPM配置文件和升级后的环境的RPM配置文件,分别按行读取RPM信息,并解析出RPM名称、版本等信息,通过数次遍历找出升级包需要新增的RPM包、更新的RPM包以及需要删除的RPM包,并做好记录。
自动生成升级包所需的配置信息,以在自动打包时根据这些配置信息自动生成升级配置文件。所述配置信息除了RPM包信息外,还包括升级包的版本号、依赖版本号、升级包描述信息、发布日期、升级要求(是否需要进入维护模式以及是否需要重启生效等)、升级范围(数据中心、集群、主机)、新增、更新以及删除的文件信息以及升级前后需要执行的脚本文件等。
打包环境中指定目录下的ISO执行挂载命令,将ISO挂载到打包环境的指定目录,通过该目录可访问ISO中所有的RPM包信息,遍历所有的RPM包信息,并记录RPM包在挂载目录的位置信息,通过遍历,找出待新增或待更新的RPM包位置。
依次将新增或更新的RPM包文件、待新增或更新其他配置文件、升级前后需要执行的脚本文件复制到打包环境的打包目录,并自动生成升级配置文件记录这些信息,将以上打包目录压缩成初步的升级包,然后根据初步的升级包自动生成数字签名文件,并将初步的升级包与数字签名文件进一步压缩成zip文件,即最终的升级包。
本发明实施例还公开了一种基于CI的虚拟化软件升级包生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现所述的基于CI的虚拟化软件升级包生成方法。
本发明实施例还公开了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现所述的基于CI的虚拟化软件升级包生成方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于CI的虚拟化软件升级包生成方法,其特征在于,所述方法包括以下操作:
CI环境在制作ISO完成后,自动触发装机,将新生成的ISO复制到打包环境的指定目录中;
解析基础环境的RPM配置文件和升级后的环境的RPM配置文件,匹配需要新增的RPM包、更新的RPM包以及需要删除的RPM包;
将ISO挂载到打包环境的指定目录,获取所有的ISO中的RPM包信息,记录RPM包在挂载目录的位置信息;
将RPM配置文件中解析到的RPM包信息和打包环境目录的ISO中解析的RPM包信息进行匹配,获得待新增或待更新的RPM包位置信息;
复制配置信息到打包目录,自动生成升级配置文件,结合数字签名文件,生成最终升级包。
2.根据权利要求1所述的一种基于CI的虚拟化软件升级包生成方法,其特征在于,所述配置信息包括RPM包、升级包的版本号、依赖版本号、升级包描述信息、发布日期、升级要求、升级范围、新增、更新以及删除的文件信息以及升级前后需要执行的脚本文件。
3.根据权利要求1或2所述的一种基于CI的虚拟化软件升级包生成方法,其特征在于,所述方法适用于管理节点和计算节点。
4.根据权利要求1或2所述的一种基于CI的虚拟化软件升级包生成方法,其特征在于,所述最终升级包为zip压缩包。
5.一种基于CI的虚拟化软件升级包生成系统,其特征在于,所述系统包括:
升级自动触发模块,用于CI环境在制作ISO完成后,自动触发装机,将新生成的ISO复制到打包环境的指定目录中;
RPM配置文件解析模块,用于解析基础环境的RPM配置文件和升级后的环境的RPM配置文件,匹配需要新增的RPM包、更新的RPM包以及需要删除的RPM包;
IOS挂载模块,用于将ISO挂载到打包环境的指定目录,获取所有的ISO中的RPM包信息,记录RPM包在挂载目录的位置信息;
RPM匹配模块,用于将RPM配置文件中解析到的RPM包信息和打包环境目录的ISO中解析的RPM包信息进行匹配,获得待新增或待更新的RPM包位置信息;
升级包信息生成模块,用于复制配置信息到打包目录,自动生成升级配置文件,结合数字签名文件,生成最终升级包。
6.根据权利要求5所述的一种基于CI的虚拟化软件升级包生成系统,其特征在于,所述配置信息包括RPM包、升级包的版本号、依赖版本号、升级包描述信息、发布日期、升级要求、升级范围、新增、更新以及删除的文件信息以及升级前后需要执行的脚本文件。
7.根据权利要求5或6所述的一种基于CI的虚拟化软件升级包生成系统,其特征在于,所述系统适用于管理节点和计算节点。
8.根据权利要求5或6所述的一种基于CI的虚拟化软件升级包生成系统,其特征在于,所述最终升级包为zip压缩包。
9.一种基于CI的虚拟化软件升级包生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现根据权利要求1或2所述的基于CI的虚拟化软件升级包生成方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现根据权利要求1或2所述的基于CI的虚拟化软件升级包生成方法。
CN202010985102.9A 2020-09-18 2020-09-18 一种基于ci的虚拟化软件升级包生成方法及系统 Withdrawn CN112214231A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010985102.9A CN112214231A (zh) 2020-09-18 2020-09-18 一种基于ci的虚拟化软件升级包生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010985102.9A CN112214231A (zh) 2020-09-18 2020-09-18 一种基于ci的虚拟化软件升级包生成方法及系统

Publications (1)

Publication Number Publication Date
CN112214231A true CN112214231A (zh) 2021-01-12

Family

ID=74050484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010985102.9A Withdrawn CN112214231A (zh) 2020-09-18 2020-09-18 一种基于ci的虚拟化软件升级包生成方法及系统

Country Status (1)

Country Link
CN (1) CN112214231A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356363A (zh) * 2021-11-30 2022-04-15 重庆长安汽车股份有限公司 一种软件升级包的在线制作方法及管理系统
CN116009912A (zh) * 2022-12-26 2023-04-25 郑州云智信安安全技术有限公司 针对私网环境的自动生成升级包的构建方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356363A (zh) * 2021-11-30 2022-04-15 重庆长安汽车股份有限公司 一种软件升级包的在线制作方法及管理系统
CN116009912A (zh) * 2022-12-26 2023-04-25 郑州云智信安安全技术有限公司 针对私网环境的自动生成升级包的构建方法
CN116009912B (zh) * 2022-12-26 2023-08-18 郑州云智信安安全技术有限公司 针对私网环境的自动生成升级包的构建方法

Similar Documents

Publication Publication Date Title
US9063766B2 (en) System and method of manipulating virtual machine recordings for high-level execution and replay
US8924954B2 (en) Application software installation method and application software installation apparatus
US9015702B2 (en) Determining compatibility of an application with different versions of an operating system
CN108459962B (zh) 代码规范性检测方法、装置、终端设备及存储介质
CN109597677A (zh) 用于处理信息的方法和装置
CN111414231B (zh) 一种虚拟机镜像与容器镜像相互转换的方法及设备
US10318479B2 (en) Method and device for automatically identifying junk file
JP7012074B2 (ja) 仮想ディスクの拡張方法及び機器
CN112214231A (zh) 一种基于ci的虚拟化软件升级包生成方法及系统
CN112860325B (zh) 一种无盘环境下硬件驱动自动快速预装方法和系统
WO2019100690A1 (zh) 电子装置、测试的方法、系统及计算机可读存储介质
CN114598687B (zh) 一种https数据包的抓取方法、系统及终端
US20160170869A9 (en) Systems and methods for in-place reorganization of device storage
CN113641394A (zh) 一种多操作系统设备的差分升级方法
CN117170802A (zh) 基于信创平台的快速制作操作系统镜像的方法、系统、设备及介质
CN111984367A (zh) 一种基于容器云平台的应用部署方法及系统
US20200252219A1 (en) Blockchain based digital identity generation and verification
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN115080114A (zh) 应用程序的移植处理方法、装置和介质
KR102256894B1 (ko) 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
CN111737223B (zh) 一种文件拷贝方法、装置、设备及存储介质
CN111651177B (zh) 基于安卓平台的写号方法、设备及计算机可读介质
CN114816816A (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
US20210271427A1 (en) Extracting drive letters for partitions in an offline virtual disk
US20210240596A1 (en) Source code file retrieval

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20210112

WW01 Invention patent application withdrawn after publication