CN109189371A - 一种基于配置分离的软件包发布方法及装置 - Google Patents
一种基于配置分离的软件包发布方法及装置 Download PDFInfo
- Publication number
- CN109189371A CN109189371A CN201810882660.5A CN201810882660A CN109189371A CN 109189371 A CN109189371 A CN 109189371A CN 201810882660 A CN201810882660 A CN 201810882660A CN 109189371 A CN109189371 A CN 109189371A
- Authority
- CN
- China
- Prior art keywords
- packet
- configuration
- information
- inspection result
- described program
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于配置分离的软件包发布方法及装置,该方法包括:将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将待交付信息中的程序信息存储至预设程序路径的对应位置;将预设配置路径对应位置的配置信息打包,获得配置包;以及将预设程序路径对应位置的程序信息打包,获得程序包;按照与程序包对应的第一预设检查方式对程序包进行校验检查,获得第一检查结果,以及按照与配置包对应的第二预设检查方式对配置包进行校验检查,获得第二检查结果;以第一检查结果和第二检查结果为依据,发布程序包和/或配置包。实施本发明实施例,能够提高产品应用发布的可靠性。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种基于配置分离的软件包发布方法及装置。
背景技术
目前,产品应用发布的方式通常为:开发人员利用jenkins对待发布的产品应用代码进行打包生成部署包-使用发布工具发布该部署包。这一方式往往需要人工审核部署包,审核通过时才将部署包发布。在实践中发现,使用人工审核的方式对部署包审核时,存在审核效率低以及审核准确度低的问题,从而导致产品应用发布的可靠性低。
发明内容
本发明实施例公开一种基于配置分离的软件包发布方法及装置,能够提高产品应用发布的可靠性。
本发明实施例第一方面公开一种基于配置分离的软件包发布方法,包括:
将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将所述待交付信息中的程序信息存储至预设程序路径的对应位置;
将所述预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包;
按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果;以及按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得第二检查结果;
以所述第一检查结果和所述第二检查结果为依据,发布所述程序包和/或所述配置包。
作为一种可选的实施方式,在本发明实施例第一方面中,所述按照与所述程序包对应的第一预设检查方式对所述程序包校验进行检查,获得第一检查结果,包括:
根据与所述程序包对应的第一预设检查方式所匹配的一致性检验工具获取所述程序包的校验值;
判断所述校验值是否与预设校验值相匹配,以及判断所述程序包是否符合预设程序包标准,获得第一检查结果,所述预设校验值为根据所述一致性检验工具获取的所述程序信息的校验值。
作为一种可选的实施方式,在本发明实施例第一方面中,所述配置包的所述配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息,所述按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得第二检查结果,包括:
根据与所述配置包对应的第二预设检查方式判断所述第一配置信息与所述第二配置信息是否相匹配,以及判断所述配置包是否符合预设配置包标准,获得第二检查结果。
作为一种可选的实施方式,在本发明实施例第一方面中,所述以所述第一检查结果和所述第二检查结果为依据,发布所述程序包和/或所述配置包,包括:
当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述程序包和所述配置包;
当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息不相匹配和/或所述配置包不符合所述预设配置包标准时,发布所述程序包;
当所述第一检查结果指示所述校验值与所述预设校验值不相匹配和/或所述程序包不符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述配置包。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述将预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包之后,所述方法还包括:
将所述配置包、所述程序包以及与所述配置包和所述程序包对应的版本信息对应存储至包管理模块。
本发明实施例第二方面公开一种基于配置分离的软件包发布装置,包括:
存储单元,用于将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将所述待交付信息中的程序信息存储至预设程序路径的对应位置;
第一获取单元,用于将所述预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包;
第二获取单元,用于按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果;以及按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得第二检查结果;
发布单元,用于以所述第一检查结果和所述第二检查结果为依据,发布所述程序包和/或所述配置包。
作为一种可选的实施方式,在本发明实施例第二方面中,所述第二获取单元用于按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果的方式具体为:
所述第二获取单元,用于根据与所述程序包对应的第一预设检查方式所匹配的一致性检验工具获取所述程序包的校验值;判断所述校验值是否与预设校验值相匹配,以及判断所述程序包是否符合预设程序包标准,获得第一检查结果,所述预设校验值为根据所述一致性检验工具获取的所述程序信息的校验值。
作为一种可选的实施方式,在本发明实施例第二方面中,所述配置包的所述配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息,所述第二获取单元用于按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得所述配置包的第二检查结果的方式具体为:
所述第二获取单元,用于根据与所述配置包对应的第二预设检查方式判断所述第一配置信息与所述第二配置信息是否相匹配,以及判断所述配置包是否符合预设配置包标准,获得第二检查结果。
作为一种可选的实施方式,在本发明实施例第二方面中,所述发布单元包括:
第一发布子单元,用于当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述程序包和所述配置包;
第二发布子单元,用于当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息不相匹配和/或所述配置包不符合所述预设配置包标准时,发布所述程序包;
第三发布子单元,用于当所述第一检查结果指示所述校验值与所述预设校验值不相匹配和/或所述程序包不符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述配置包。
作为一种可选的实施方式,在本发明实施例第二方面中,所述存储单元,还用于在所述第一获取单元将预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包之后,将所述配置包、所述程序包以及与所述配置包和所述程序包对应的版本信息对应存储至包管理模块。
本发明实施例第三方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的一种基于配置分离的软件包发布方法。
本发明实施例第四方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
本发明实施例第五方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,产品应用的待交付信息中既包括配置信息又包括程序信息,可以将待交付信息中的配置信息与程序信息分离,也即是将配置信息存储至预设配置路径的对应位置以及将程序信息存储至预设程序路径的对应位置;并将预设配置路径对应位置的配置信息打包获得配置包,以及将预设程序路径对应位置的程序信息打包获得程序包,以此实现在应用产品发布之前对待交付信息进行配置分离,获得相应的程序包与配置包;以及按照与程序包对应的第一预设检查方式对程序包进行检查,获得第一检查结果,按照与配置包对应的第二预设检查方式对配置包进行检查,获得第二检查结果;最终以第一检查结果和第二检查结果为依据,发布程序包和/或配置包。这一过程可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于配置分离的软件包发布方法的流程示意图;
图2是本发明实施例公开的另一种基于配置分离的软件包发布方法的流程示意图;
图3是本发明实施例公开的另一种基于配置分离的软件包发布方法的流程示意图;
图4是本发明实施例公开的一种基于配置分离的软件包发布装置的结构示意图;
图5是本发明实施例公开的另一种基于配置分离的软件包发布装置的结构示意图;
图6是本发明实施例公开的另一种基于配置分离的软件包发布装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开一种基于配置分离的软件包发布方法及装置,能够提高产品应用发布的可靠性。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于配置分离的软件包发布方法的流程示意图。如图1所示,该基于配置分离的软件包发布方法可以包括以下步骤:
101、将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将待交付信息中的程序信息存储至预设程序路径的对应位置。
本发明实施例中,待交付信息中包括程序信息以及配置信息,可以将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将待交付信息中的程序信息存储至预设程序路径的对应位置,其中,预设配置路径为预先设置的存储配置信息的路径,预设程序路径为预先设置的存储程序信息的路径。这一过程以高自动化程度的分离方式将待交付信息中的配置信息与程序信息分离存储至相应路径的对应位置,提高了配置信息与程序信息分离的效率。并且,配置信息与程序信息分离有利于开发人员管控程序信息、运维人员管理配置信息,以此实现后续的程序包与配置包独立管理、各不干扰,方便管控。
102、将预设配置路径对应位置的配置信息打包,获得配置包;以及将预设程序路径对应位置的程序信息打包,获得程序包。
103、按照与程序包对应的第一预设检查方式对程序包进行校验检查,获得第一检查结果;以及按照与配置包对应的第二预设检查方式对配置包进行校验检查,获得第二检查结果。
本发明实施例中,与程序包对应的第一预设检查方式可以包括检查程序包是否通过一致性检验以及检查程序包是否符合与程序包对应的发布标准,获得第一检查结果。其中,对程序包进行的一致性检验可以为md5一致性检验,也可以为其他检验,本发明实施例中不做限定。
本发明实施例中,与配置包对应的第二预设检查方式可以包括检查配置包中开发人员提交的配置信息与运维人员修改的配置信息是否一致以及检查配置包是否符合与配置包对应的发布标准,获得第二检查结果。
104、以第一检查结果和第二检查结果为依据,发布程序包和/或配置包。
本发明实施例中,可以根据不同的需求有选择性地发布程序包、发布配置包或者发布程序包与配置包。当只有程序包改动时,可以只修改程序包,不修改与程序包对应的配置包;当只有配置包改动时,可以只修改配置包,不修改与配置包对应的程序包;当程序包与配置包都改动时,可以既修改程序包又修改配置包。
本发明实施例中,当人工审核既包含程序信息又包含配置信息的待交付信息时,如果是开发人员对待交付信息进行审核,存在开发人员对于配置信息的把握不到位的情况,如果是配置人员对待交付信息进行审核,存在配置人员对于程序信息的把握不到位的情况,如果采取多人审核的方式(既有开发人员对待交付信息审核又有配置人员对待交付信息审核),存在审核效率低导致的产品应用的交付效率低的问题,此外,只要是人工审核的方式,都难以避免人工误差导致准确率低的问题。采用本发明实施例的基于配置分离的软件包发布方法可以高自动化地实现产品应用交付,从而提高了产品应用交付的效率以及准确度。
可见,通过实施图1所描述的基于配置分离的软件包发布方法,产品应用的待交付信息中既包括配置信息又包括程序信息,可以将待交付信息中的配置信息与程序信息分离,也即是将配置信息存储至预设配置路径的对应位置以及将程序信息存储至预设程序路径的对应位置;并将预设配置路径对应位置的配置信息打包获得配置包,以及将预设程序路径对应位置的程序信息打包获得程序包,以此实现在应用产品发布之前对待交付信息进行配置分离,获得相应的程序包与配置包;以及按照与程序包对应的第一预设检查方式对程序包进行检查,获得第一检查结果,按照与配置包对应的第二预设检查方式对配置包进行检查,获得第二检查结果;最终以第一检查结果和第二检查结果为依据,发布程序包和/或配置包。这一过程可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
实施例二
请参阅图2,图2是本发明实施例公开的另一种基于配置分离的软件包发布方法的流程示意图。如图2所示,该基于配置分离的软件包发布方法可以包括以下步骤:
201、将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将待交付信息中的程序信息存储至预设程序路径的对应位置。
202、将预设配置路径对应位置的配置信息打包,获得配置包;以及将预设程序路径对应位置的程序信息打包,获得程序包。
203、根据与程序包对应的第一预设检查方式所匹配的一致性检验工具获取程序包的校验值。
本发明实施例中,一致性检验工具可以包括md5一致性检验工具或者其他一致性检验工具等,本发明实施例中不做限定。
204、判断校验值是否与预设校验值相匹配以及程序包是否符合预设程序包标准,获得第一检查结果。
本发明实施例中,预设校验值为根据一致性检验工具获取的程序信息的校验值。当校验值与预设校验值相匹配时,说明打包得到的程序包的可靠性高。
作为一种可选的实施方式,判断程序包是否符合预设程序包标准可以包括:
确定程序包与线上程序包的差异信息,差异信息至少包括差异位置以及差异数目;
当该差异信息中的差异位置与预设差异位置相同且该差异信息中的差异数目与预设差异数目相同时,确定该程序包符合预设程序包发布标准,当该差异信息中的差异位置与预设差异位置不相同和/或该差异信息中的差异数目与预设差异数目不相同时,确定该程序包不符合预设程序包发布标准。
其中,预设程序包标准包括事先确定出的本次产品应用发布程序包需要改动的差异信息,并且,该差异信息包括预设差异位置与预设差异数目。
通过实施这种可选的实施方式,可以检查程序包与线上程序包的差异信息中的差异位置是否与预设差异位置相同以及差异数目是否与预设差异数目相同,以此确保最终发布的程序包是否符合预设程序包标准的程序包,提高程序包发布的可靠性。
205、判断第一配置信息与第二配置信息是否相匹配以及配置包是否符合预设配置包标准,获得第二检查结果。
需要说明的是,步骤205也可以发生在步骤204之前,或者,步骤205与步骤204同时发生,本发明实施例中不做限定。
本发明实施例中,配置包的配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息。
作为一种可选的实施方式,判断配置包是否符合预设配置包标准可以包括:
确定配置包与线上配置包的差异信息,差异信息至少包括差异位置以及差异数目;
当该差异信息中的差异位置与预设差异位置相同且该差异信息中的差异数目与预设差异数目相同时,确定该配置包符合预设配置包发布标准,当该差异信息中的差异位置与预设差异位置不相同和/或该差异信息中的差异数目与预设差异数目不相同时,确定该配置包不符合预设配置包发布标准。
其中,预设配置包标准包括事先确定出的本次产品应用发布配置包需要改动的差异信息,并且,该差异信息包括预设差异位置与预设差异数目。
通过实施这种可选的实施方式,可以检查配置包与线上配置包的差异信息中的差异位置是否与预设差异位置相同以及差异数目是否与预设差异数目相同,以此确保最终发布的配置包是否符合预设配置包标准的配置包,提高配置包发布的可靠性。
需要说明的是,在执行完步骤205之后,可以触发执行步骤206、步骤207或者步骤208。
206、当第一检查结果指示校验值与预设校验值相匹配以及程序包符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息相匹配以及配置包符合预设配置包标准时,发布程序包和配置包。
207、当第一检查结果指示校验值与预设校验值相匹配以及程序包符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息不相匹配和/或配置包不符合预设配置包标准时,发布程序包。
208、当第一检查结果指示校验值与预设校验值不相匹配和/或程序包不符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息相匹配以及配置包符合预设配置包标准时,发布配置包。
可见,通过实施图2所描述的基于配置分离的软件包发布方法,可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
此外,通过实施图2所描述的基于配置分离的软件包发布方法,可以对程序包进行相应的检查,以此确保每次发布的程序包是通过一致性校验的,确保了发布的程序包的可靠性。
此外,通过实施图2所描述的基于配置分离的软件包发布方法,可以对配置包进行相应的检查,以此确保每次发布的配置包也是通过一致性校验的,确保了发布的配置包的可靠性。
此外,通过实施图2所描述的基于配置分离的软件包发布方法,还可以根据程序包的第一检查结果与配置包的第二检查结果选择性地发布程序包、发布配置包或者同时发布程序包与配置包。这一过程使得产品应用的发布不必每次都同时发布程序包与配置包,而是根据产品应用的更新需求有选择性的进行发布,提高了产品应用发布的灵活性。
实施例三
请参阅图3,图3是本发明实施例公开的另一种基于配置分离的软件包发布方法的流程示意图。如图3所示,该基于配置分离的软件包发布方法可以包括以下步骤:
301、将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将待交付信息中的程序信息存储至预设程序路径的对应位置。
302、将预设配置路径对应位置的配置信息打包,获得配置包;以及将预设程序路径对应位置的程序信息打包,获得程序包。
303、将配置包、程序包以及与配置包和程序包对应的版本信息对应存储至包管理模块。
本发明实施例中,包管理模块中映射存储着配置包、程序包以及与配置包和程序包对应的版本信息。
作为一种可选的实施方式,在执行完步骤303之后,还可以执行以下步骤:
当检测到用于指示回滚至某一版本的回滚指令时,利用包管理模块查询与该某一版本对应的版本信息相匹配的目标配置包以及目标程序包;
将当前的配置包改动为目标配置包,以及将当前的程序包改动为目标程序包。
通过实施这种可选的实施方式,可以高效地回滚到其他版本,从而增加了交付的可靠性。
304、根据与程序包对应的第一预设检查方式所匹配的一致性检验工具获取程序包的校验值。
305、判断校验值是否与预设校验值相匹配以及程序包是否符合预设程序包标准,获得第一检查结果。
本发明实施例中,预设校验值为根据一致性检验工具获取的程序信息的校验值。
306、判断第一配置信息与第二配置信息是否相匹配以及配置包是否符合预设配置包标准,获得第二检查结果。
需要说明的是,步骤306也可以发生在步骤305之前,或者,步骤306也可以和步骤305同时发生,本发明实施例中不做限定。
本发明实施例中,配置包的配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息。
需要说明的是,在执行完步骤306之后,触发执行步骤307、步骤308或者步骤309。
307、当第一检查结果指示校验值与预设校验值相匹配以及程序包符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息相匹配以及配置包符合预设配置包标准时,发布程序包和配置包。
308、当第一检查结果指示校验值与预设校验值相匹配以及程序包符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息不相匹配和/或配置包不符合预设配置包标准时,发布程序包。
309、当第一检查结果指示校验值与预设校验值不相匹配和/或程序包不符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息相匹配以及配置包符合预设配置包标准时,发布配置包。
可见,通过实施图3所描述的基于配置分离的软件包发布方法,可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
此外,通过实施图3所描述的基于配置分离的软件包发布方法,可以对程序包进行相应的检查,以此确保每次发布的程序包是通过一致性校验的,确保了发布的程序包的可靠性。
此外,通过实施图3所描述的基于配置分离的软件包发布方法,可以对配置包进行相应的检查,以此确保每次发布的配置包也是通过一致性校验的,确保了发布的配置包的可靠性。
此外,通过实施图3所描述的基于配置分离的软件包发布方法,还可以根据程序包的第一检查结果与配置包的第二检查结果选择性地发布程序包、发布配置包或者同时发布程序包与配置包。这一过程使得产品应用的发布不必每次都同时发布程序包与配置包,而是根据产品应用的更新需求有选择性的进行发布,提高了产品应用发布的灵活性。
此外,通过实施图3所描述的基于配置分离的软件包发布方法,还可以利用包管理模块管理程序包、配置包以及与程序包和配置包对应的版本信息,如可以利用包管理模块单独修改程序包或者配置包,实现程序包或者配置包的独立变更、互不干扰,提高了对于程序包以及配置包的管控强度。
实施例四
请参阅图4,图4是本发明实施例公开的一种基于配置分离的软件包发布装置的结构示意图。如图4所示,该基于配置分离的软件包发布装置400可以包括存储单元401、第一获取单元402、第二获取单元403以及发布单元404,其中:
存储单元401,用于将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将待交付信息中的程序信息存储至预设程序路径的对应位置。
第一获取单元402,用于将存储单元401存储的预设配置路径对应位置的配置信息打包,获得配置包;以及将存储单元401存储的预设程序路径对应位置的程序信息打包,获得程序包。
第二获取单元403,用于按照与第一获取单元402获取的程序包对应的第一预设检查方式对程序包进行校验检查,获得第一检查结果;以及按照与第一获取单元402获取的配置包对应的第二预设检查方式对配置包进行校验检查,获得第二检查结果。
本发明实施例中,与程序包对应的第一预设检查方式可以包括检查程序包是否通过一致性检验以及检查程序包是否符合与程序包对应的发布标准,获得第一检查结果。其中,对程序包进行的一致性检验可以为md5一致性检验,也可以为其他检验,本发明实施例中不做限定。
本发明实施例中,与配置包对应的第二预设检查方式可以包括检查配置包中开发人员提交的配置信息与运维人员修改的配置信息是否一致以及检查配置包是否符合与配置包对应的发布标准,获得第二检查结果。
发布单元404,用于以第二获取单元403获取的第一检查结果和第二检查结果为依据,发布程序包和/或配置包。
本发明实施例中,可以根据不同的需求有选择性地发布程序包、发布配置包或者发布程序包与配置包。当只有程序包改动时,可以只修改程序包,不修改与程序包对应的配置包;当只有配置包改动时,可以只修改配置包,不修改与配置包对应的程序包;当程序包与配置包都改动时,可以既修改程序包又修改配置包。
可见,通过实施图4所描述的基于配置分离的软件包发布装置,可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
实施例五
请参阅图5,图5是本发明实施例公开的另一种基于配置分离的软件包发布装置的结构示意图。其中,图5所示的基于配置分离的软件包发布装置400是由图4所示的基于配置分离的软件包发布装置400优化得到的,与图4所示的基于配置分离的软件包发布装置400相比,在图5所示的基于配置分离的软件包发布装置400中,第二获取单元403用于按照与程序包对应的第一预设检查方式对程序包进行校验检查,获得第一检查结果的方式具体为:
第二获取单元403,用于根据与程序包对应的第一预设检查方式所匹配的一致性检验工具获取程序包的校验值;判断校验值是否与预设校验值相匹配,以及判断程序包是否符合预设程序包标准,获得第一检查结果,预设校验值为根据一致性检验工具获取的程序信息的校验值。
作为一种可选的实施方式,第二获取单元403判断程序包是否符合预设程序包标准可以包括:
第二获取单元403确定程序包与线上程序包的差异信息,差异信息至少包括差异位置以及差异数目;
当该差异信息中的差异位置与预设差异位置相同且该差异信息中的差异数目与预设差异数目相同时,第二获取单元403确定该程序包符合预设程序包发布标准,当该差异信息中的差异位置与预设差异位置不相同和/或该差异信息中的差异数目与预设差异数目不相同时,第二获取单元403确定该程序包不符合预设程序包发布标准。
其中,预设程序包标准包括事先确定出的本次产品应用发布程序包需要改动的差异信息,并且,该差异信息包括预设差异位置与预设差异数目。
通过实施这种可选的实施方式,可以检查程序包与线上程序包的差异信息中的差异位置是否与预设差异位置相同以及差异数目是否与预设差异数目相同,以此确保最终发布的程序包是否符合预设程序包标准的程序包,提高程序包发布的可靠性。
可选的,第二获取单元403用于按照与配置包对应的第二预设检查方式对配置包进行校验检查,获得第二检查结果的方式具体为:
第二获取单元403,用于判断第一配置信息与第二配置信息是否相匹配,以及判断配置包是否符合预设配置包标准,获得第二检查结果。
本发明实施例中,配置包的配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息。
作为一种可选的实施方式,第二获取单元403判断配置包是否符合预设配置包标准可以包括:
第二获取单元403确定配置包与线上配置包的差异信息,差异信息至少包括差异位置以及差异数目;
当该差异信息中的差异位置与预设差异位置相同且该差异信息中的差异数目与预设差异数目相同时,第二获取单元403确定该配置包符合预设配置包发布标准,当该差异信息中的差异位置与预设差异位置不相同和/或该差异信息中的差异数目与预设差异数目不相同时,第二获取单元403确定该配置包不符合预设配置包发布标准。
其中,预设配置包标准包括事先确定出的本次产品应用发布配置包需要改动的差异信息,并且,该差异信息包括预设差异位置与预设差异数目。
通过实施这种可选的实施方式,可以检查配置包与线上配置包的差异信息中的差异位置是否与预设差异位置相同以及差异数目是否与预设差异数目相同,以此确保最终发布的配置包是否符合预设配置包标准的配置包,提高配置包发布的可靠性。
进一步可选的,发布单元404包括:
第一发布子单元4041,用于当第一检查结果指示校验值与预设校验值相匹配以及程序包符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息相匹配以及配置包符合预设配置包标准时,发布程序包和配置包。
第二发布子单元4042,用于当第一检查结果指示校验值与预设校验值相匹配以及程序包符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息不相匹配和/或配置包不符合预设配置包标准时,发布程序包。
第三发布子单元4043,用于当第一检查结果指示校验值与预设校验值不相匹配和/或程序包不符合预设程序包标准且第二检查结果指示第一配置信息与第二配置信息相匹配以及配置包符合预设配置包标准时,发布配置包。
可见,通过实施图5所描述的基于配置分离的软件包发布装置,可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
此外,通过实施图5所描述的基于配置分离的软件包发布装置,可以对程序包进行相应的检查,以此确保每次发布的程序包是通过一致性校验的,确保了发布的程序包的可靠性。
此外,通过实施图5所描述的基于配置分离的软件包发布装置,可以对配置包进行相应的检查,以此确保每次发布的配置包也是通过一致性校验的,确保了发布的配置包的可靠性。
此外,通过实施图5所描述的基于配置分离的软件包发布装置,还可以根据程序包的第一检查结果与配置包的第二检查结果选择性地发布程序包、发布配置包或者同时发布程序包与配置包。这一过程使得产品应用的发布不必每次都同时发布程序包与配置包,而是根据产品应用的更新需求有选择性的进行发布,提高了产品应用发布的灵活性。
实施例六
请参阅图6,图6是本发明实施例公开的另一种基于配置分离的软件包发布装置的结构示意图。其中,图6所示的基于配置分离的软件包发布装置400是由图5所示的基于配置分离的软件包发布装置400优化得到的,与图5所示的基于配置分离的软件包发布装置400相比,在图6所示的基于配置分离的软件包发布装置400中,存储单元401,还用于在第一获取单元402将预设配置路径对应位置的配置信息打包,获得配置包;以及将预设程序路径对应位置的程序信息打包,获得程序包之后,将配置包、程序包以及与配置包和程序包对应的版本信息对应存储至包管理模块。
作为一种可选的实施方式,在存储单元401将配置包、程序包以及与配置包和程序包对应的版本信息对应存储至包管理模块之后,存储单元401还可以用于:
当检测到用于指示回滚至某一版本的回滚指令时,利用包管理模块查询与该某一版本对应的版本信息相匹配的目标配置包以及目标程序包;
将当前的配置包改动为目标配置包,以及将当前的程序包改动为目标程序包。
通过实施这种可选的实施方式,可以高效地回滚到其他版本,从而增加了交付的可靠性。
可见,通过实施图6所描述的基于配置分离的软件包发布装置,可以提高产品应用发布的自动化程度,不必完全依赖人工审核,从而提高了产品应用发布的可靠性。
此外,通过实施图6所描述的基于配置分离的软件包发布装置,可以对程序包进行相应的检查,以此确保每次发布的程序包是通过一致性校验的,确保了发布的程序包的可靠性。
此外,通过实施图6所描述的基于配置分离的软件包发布装置,可以对配置包进行相应的检查,以此确保每次发布的配置包也是通过一致性校验的,确保了发布的配置包的可靠性。
此外,通过实施图6所描述的基于配置分离的软件包发布装置,还可以根据程序包的第一检查结果与配置包的第二检查结果选择性地发布程序包、发布配置包或者同时发布程序包与配置包。这一过程使得产品应用的发布不必每次都同时发布程序包与配置包,而是根据产品应用的更新需求有选择性的进行发布,提高了产品应用发布的灵活性。
此外,通过实施图6所描述的基于配置分离的软件包发布装置,还可以利用包管理模块管理程序包、配置包以及与程序包和配置包对应的版本信息,如可以利用包管理模块单独修改程序包或者配置包,实现程序包或者配置包的独立变更、互不干扰,提高了对于程序包以及配置包的管控强度。
本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行图1~图3任意一种基于配置分离的软件包发布方法。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行如以上各方法实施例中的方法的部分或全部步骤。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例上述方法的部分或全部步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种基于配置分离的软件包发布方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于配置分离的软件包发布方法,其特征在于,包括:
将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将所述待交付信息中的程序信息存储至预设程序路径的对应位置;
将所述预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包;
按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果;以及按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得第二检查结果;
以所述第一检查结果和所述第二检查结果为依据,发布所述程序包和/或所述配置包。
2.根据权利要求1所述的方法,其特征在于,所述按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果,包括:
根据与所述程序包对应的第一预设检查方式所匹配的一致性检验工具获取所述程序包的校验值;
判断所述校验值是否与预设校验值相匹配,以及判断所述程序包是否符合预设程序包标准,获得第一检查结果,所述预设校验值为根据所述一致性检验工具获取的所述程序信息的校验值。
3.根据权利要求2所述的方法,其特征在于,所述配置包的所述配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息,所述按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得第二检查结果,包括:
根据与所述配置包对应的第二预设检查方式判断所述第一配置信息与所述第二配置信息是否相匹配,以及判断所述配置包是否符合预设配置包标准,获得第二检查结果。
4.根据权利要求3所述的方法,其特征在于,所述以所述第一检查结果和所述第二检查结果为依据,发布所述程序包和/或所述配置包,包括:
当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述程序包和所述配置包;
当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息不相匹配和/或所述配置包不符合所述预设配置包标准时,发布所述程序包;
当所述第一检查结果指示所述校验值与所述预设校验值不相匹配和/或所述程序包不符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述配置包。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述将预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包之后,所述方法还包括:
将所述配置包、所述程序包以及与所述配置包和所述程序包对应的版本信息对应存储至包管理模块。
6.一种基于配置分离的软件包发布装置,其特征在于,包括:
存储单元,用于将待交付信息中的配置信息存储至预设配置路径的对应位置,以及将所述待交付信息中的程序信息存储至预设程序路径的对应位置;
第一获取单元,用于将所述预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包;
第二获取单元,用于按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果;以及按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得第二检查结果;
发布单元,用于以所述第一检查结果和所述第二检查结果为依据,发布所述程序包和/或所述配置包。
7.根据权利要求6所述的基于配置分离的软件包发布装置,其特征在于,所述第二获取单元用于按照与所述程序包对应的第一预设检查方式对所述程序包进行校验检查,获得第一检查结果的方式具体为:
所述第二获取单元,用于根据与所述程序包对应的第一预设检查方式所匹配的一致性检验工具获取所述程序包的校验值;判断所述校验值是否与预设校验值相匹配,以及判断所述程序包是否符合预设程序包标准,获得第一检查结果,所述预设校验值为根据所述一致性检验工具获取的所述程序信息的校验值。
8.根据权利要求7所述的基于配置分离的软件包发布装置,其特征在于,所述配置包的所述配置信息至少包括标记为开发人员提供的第一配置信息和标记为运维人员提供的第二配置信息,所述第二获取单元用于按照与所述配置包对应的第二预设检查方式对所述配置包进行校验检查,获得所述配置包的第二检查结果的方式具体为:
所述第二获取单元,用于根据与所述配置包对应的第二预设检查方式判断所述第一配置信息与所述第二配置信息是否相匹配,以及判断所述配置包是否符合预设配置包标准,获得第二检查结果。
9.根据权利要求8所述的基于配置分离的软件包发布装置,其特征在于,所述发布单元包括:
第一发布子单元,用于当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述程序包和所述配置包;
第二发布子单元,用于当所述第一检查结果指示所述校验值与所述预设校验值相匹配以及所述程序包符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息不相匹配和/或所述配置包不符合所述预设配置包标准时,发布所述程序包;
第三发布子单元,用于当所述第一检查结果指示所述校验值与所述预设校验值不相匹配和/或所述程序包不符合所述预设程序包标准且所述第二检查结果指示所述第一配置信息与所述第二配置信息相匹配以及所述配置包符合所述预设配置包标准时,发布所述配置包。
10.根据权利要求6至9任一项所述的基于配置分离的软件包发布装置,其特征在于:
所述存储单元,还用于在所述第一获取单元将预设配置路径对应位置的所述配置信息打包,获得配置包;以及将所述预设程序路径对应位置的所述程序信息打包,获得程序包之后,将所述配置包、所述程序包以及与所述配置包和所述程序包对应的版本信息对应存储至包管理模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810882660.5A CN109189371B (zh) | 2018-08-06 | 2018-08-06 | 一种基于配置分离的软件包发布方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810882660.5A CN109189371B (zh) | 2018-08-06 | 2018-08-06 | 一种基于配置分离的软件包发布方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189371A true CN109189371A (zh) | 2019-01-11 |
CN109189371B CN109189371B (zh) | 2022-03-01 |
Family
ID=64920197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810882660.5A Expired - Fee Related CN109189371B (zh) | 2018-08-06 | 2018-08-06 | 一种基于配置分离的软件包发布方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189371B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569311A (zh) * | 2019-10-30 | 2019-12-13 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
CN112583869A (zh) * | 2019-09-29 | 2021-03-30 | 中兴通讯股份有限公司 | 网元的配置数据校验方法、装置、存储介质及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095462A (zh) * | 2016-06-22 | 2016-11-09 | 南京南瑞继保电气有限公司 | 一种嵌入式分布式系统程序配置版本管理方法 |
CN106775730A (zh) * | 2016-12-21 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 程序发布方法及系统 |
CN107015842A (zh) * | 2017-03-31 | 2017-08-04 | 武汉票据交易中心有限公司 | 一种服务器端程序编译和发布的管理方法及系统 |
-
2018
- 2018-08-06 CN CN201810882660.5A patent/CN109189371B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095462A (zh) * | 2016-06-22 | 2016-11-09 | 南京南瑞继保电气有限公司 | 一种嵌入式分布式系统程序配置版本管理方法 |
CN106775730A (zh) * | 2016-12-21 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 程序发布方法及系统 |
CN107015842A (zh) * | 2017-03-31 | 2017-08-04 | 武汉票据交易中心有限公司 | 一种服务器端程序编译和发布的管理方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112583869A (zh) * | 2019-09-29 | 2021-03-30 | 中兴通讯股份有限公司 | 网元的配置数据校验方法、装置、存储介质及系统 |
CN112583869B (zh) * | 2019-09-29 | 2024-03-08 | 中兴通讯股份有限公司 | 网元的配置数据校验方法、装置、存储介质及系统 |
CN110569311A (zh) * | 2019-10-30 | 2019-12-13 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
CN110569311B (zh) * | 2019-10-30 | 2020-07-10 | 上海商魁信息科技有限公司 | 一种数据库的数据同步方法、设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109189371B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106415571B (zh) | 将资产安全地提供给目标设备的模块 | |
CN103577748B (zh) | 基于可信计算的动态度量方法与管理系统 | |
EP3716116A1 (en) | Test scenario generation device, test scenario generation method and test scenario generation program | |
CN104461858B (zh) | 软件兼容性预先测试方法与其系统 | |
US20070220492A1 (en) | Application verifier infrastructure and checks | |
CN107111544A (zh) | 生产诊断中的历史控制流可视化 | |
US7370101B1 (en) | Automated testing of cluster data services | |
CN103294505B (zh) | 医学设备以及用于检验医学设备的检验系统、方法和装置 | |
CN104978530B (zh) | 一种应用安全管理方法、装置、服务器以及系统 | |
CN106897226A (zh) | 一种持续集成测试的方法以及装置 | |
CN106484590A (zh) | 数据校验方法和装置 | |
CN109753391A (zh) | 处理器的一个或多个结构的功能测试的系统、装置和方法 | |
CN109189371A (zh) | 一种基于配置分离的软件包发布方法及装置 | |
CN109445837A (zh) | 一种应用程序的发布方法及设备 | |
CN105229654A (zh) | 保护软件应用 | |
CN108491330A (zh) | 一种应用于卫星cpu软件在轨重构的试验验证系统及其方法 | |
CN108197476A (zh) | 一种智能终端设备的漏洞检测方法及装置 | |
CN103593575B (zh) | 医嘱提醒方法和医嘱提醒系统 | |
CN109150642A (zh) | 应用内存错误检测方法、检测装置及存储介质 | |
CN106648762A (zh) | 一种搭建开发环境的方法及装置 | |
CN107784230B (zh) | 页面漏洞的修复方法及装置 | |
CN104965701B (zh) | 获取应用信息的方法及装置 | |
CN107181721A (zh) | 一种基于日志的信息处理方法及装置 | |
US9009535B2 (en) | Anomaly detection at the level of run time data structures | |
Belli et al. | Test generation and minimization with" Basic" statecharts |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220301 |
|
CF01 | Termination of patent right due to non-payment of annual fee |