CN108319460A - 应用程序安装包的生成方法、装置、电子设备及存储介质 - Google Patents
应用程序安装包的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108319460A CN108319460A CN201810069800.7A CN201810069800A CN108319460A CN 108319460 A CN108319460 A CN 108319460A CN 201810069800 A CN201810069800 A CN 201810069800A CN 108319460 A CN108319460 A CN 108319460A
- Authority
- CN
- China
- Prior art keywords
- version
- classification
- application program
- installation kit
- name
- 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/60—Software deployment
- G06F8/61—Installation
-
- 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)
Abstract
本发明公开了一种应用程序安装包的生成方法、装置、电子设备及存储介质。该方法包括:接收应用程序的代码更新通知;从代码更新通知中的存储地址获取应用程序的代码及配置文件;根据配置文件中设定版本号和设定版本名获取每个版本类别对应的版本号和版本名,并将配置文件中每个版本类别的版本号配置项对应的占位符修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符修改为该版本类别对应的版本名;分别根据修改后的配置文件中每个版本类别的配置信息编译代码并打包生成该版本类别对应的安装包。本发明可同时生成用户体验一致的不同版本类别的安装包,且仅需对一个版本类别的安装包进行测试,节省人力以及测试资源。
Description
技术领域
本发明实施例涉及软件开发技术领域,尤其涉及一种应用程序安装包的生成方法、装置、电子设备及存储介质。
背景技术
在日常的开发过程中,经常需要对某一应用程序的版本进行更新。目前,对于某一版本的应用程序(即基于某一版本的代码生成的应用程序)的发布流程,一般是首先生成该版本对应的测试版本安装包,然后测试人员对测试版本安装包进行测试,在测试通过后,再生成该版本对应的灰度版本安装包,测试人员再对灰度版本安装包进行测试并在测试通过后将灰度版本进行发布,以供部分用户体验该版本的应用程序从而根据用户的反馈结果决定是否发布正式版本,如果确定发布该版本的正式版本,则生成正式版本安装包,测试人员再对正式版本安装包进行测试并在测试通过后将正式版本进行发布以供全部用户使用该版本的应用程序。
通常情况下,测试版本安装包、灰度版本安装包以及正式版本安装包三个安装包中除版本号信息和版本名信息之外,其它信息应全部相同。然而,上述方法中,由于在前一安装包(如灰度版本安装包)生成后,在后续生成下一安装包(如正式版本安装包)的过程中,可能由于人为原因导致所编译的代码或编译代码的环境与前一安装包不同,进而导致不同阶段生成的安装包出现差异,因此,需在三个安装包生成之后,分别对三个安装包进行测试,但是,这样浪费大量人力物力,且即使三个安装包均测试成功,仍然无法保证三个安装包之间不存在差异,导致生成用户体验不一致的三个安装包,进而可能导致正式版本发布之后,在用户使用的过程中出现灰度版本中未曾出现的问题。
发明内容
本发明实施例提供一种应用程序安装包的生成方法、装置、电子设备及存储介质,以实现同时基于相同的代码和编译环境生成用户体验一致的不同版本类别的安装包,进而实现在应用程序的发布过程中,仅需对其中一个版本类别的安装包进行测试,大大降低应用程序发布过程中对安装包的测试次数,节省人力以及测试资源。
第一方面,本发明实施例提供了一种应用程序安装包的生成方法、装置、电子设备及存储介质,该方法包括:
接收应用程序的代码更新通知;其中所述代码更新通知中包括所述应用程序在代码仓库中的存储地址;
从所述存储地址中获取所述应用程序的代码以及所述应用程序的配置文件;其中所述配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,所述配置信息至少包括版本号配置项、版本名配置项、与所述版本号配置项对应的占位符以及与所述版本名配置项对应的占位符;
根据所述设定版本号和所述设定版本名获取每个版本类别对应的版本号和版本名,并将所述配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;
分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
第二方面,本发明实施例还提供了一种应用程序安装包的生成装置,该装置包括:
通知接收模块,用于接收应用程序的代码更新通知;其中所述代码更新通知中包括所述应用程序在代码仓库中的存储地址;
配置文件获取模块,用于从所述存储地址中获取所述应用程序的代码以及所述应用程序的配置文件;其中所述配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,所述配置信息至少包括版本号配置项、版本名配置项、与所述版本号配置项对应的占位符以及与所述版本名配置项对应的占位符;
占位符修改模块,用于根据所述设定版本号和所述设定版本名获取每个版本类别对应的版本号和版本名,并将所述配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;
安装包生成模块,用于分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的应用程序安装包的生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的应用程序安装包的生成方法。
本发明实施例通过接收应用程序的代码更新通知,其中代码更新通知中包括应用程序在代码仓库中的存储地址;从存储地址中获取应用程序的代码以及应用程序的配置文件;其中配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,配置信息至少包括版本号配置项、版本名配置项、与版本号配置项对应的占位符以及与版本名配置项对应的占位符;根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名,并将配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包,解决了由于测试版本安装包、灰度版本安装包以及正式版本安装包在应用程序发布流程中的不同阶段生成,导致需分别对测试版本安装包、灰度版本安装包以及正式版本安装包三个安装包进行测试,浪费人力物力的问题以及导致三个安装包之间的用户体验不一致的问题,实现基于应用程序的同一份代码,在相同的编译环境下,同时生成不同版本类别的安装包,进而保证各版本类别的安装包的用户体验一致,且测试人员仅需对其中一个版本类别的安装包进行测试即可,大大降低应用程序发布过程中对安装包的测试次数,节省人力以及测试资源。
附图说明
图1本发明实施例一中的一种应用程序安装包的生成方法的流程图;
图2是本发明实施例二中的一种应用程序安装包的生成方法的流程图;
图3是本发明实施例三中的一种应用程序安装包的生成装置的结构框图;
图4是本发明实施例四中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种应用程序安装包生成的方法的流程图,本实施例可适用于需生成用户体验一致的不同版本类别的安装包的情况,该方法可以由应用程序安装包的生成装置来执行,该装置可由软件和\或硬件组成,该装置一般可集成于终端中。参见图1,本实施例提供的方法具体包括如下步骤:
步骤110、接收应用程序的代码更新通知;
其中,代码更新通知中包括应用程序在代码仓库中的存储地址。
示例性的,可在终端中安装Jenkins,并将Gitlab作为代码仓库。当需要对某一应用程序的代码进行更新时,开发人员可将更新的代码以及相应的配置文件提交到代码仓库中该应用程序对应的存储地址中,其中,代码仓库与Jenkins可通过hook(钩子)建立连接,只要代码仓库中某一应用程序的代码更新,则Jenkins可接收到该应用程序的代码更新通知,其中代码更新通知中包括该应用程序在代码仓库中的存储地址。
步骤120、从存储地址中获取应用程序的代码以及应用程序的配置文件。
Jenkins接收到代码更新通知后,则自动从代码仓库的存储地址中获取该应用程序的代码以及该应用程序的配置文件。
其中,配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,配置信息至少包括版本号配置项、版本名配置项、与版本号配置项对应的占位符以及与版本名配置项对应的占位符。
可选的,配置信息中还包括依赖库配置项、SDK(Software Development Kit,软件开发工具包)配置项和安装包包名配置项等配置项,各配置项均有对应的配置值。
需要说明的是,配置文件内各版本类别对应的配置信息中,除版本号配置项和版本名配置项对应的占位符不同外,其余所有相同配置项对应的配置值均相同,以保证各版本类别对应的安装包在相同的编译环境下生成,进而实现同时生成用户体验一致的不同版本类别的安装包。
示例性的,版本类别包括测试版本、灰度版本和正式版本。
其中,版本号配置项(versionCode)的配置值是一个整数值,代表应用程序的发布次数,用于给终端设备识别应用程序的版本以确定终端设备中当前安装的该应用程序是否可进行升级;版本名配置项(versionName)的配置值为字符串值,代表应用程序的版本信息,用于显示给用户以供用户识别版本的。版本号配置项的配置值和版本名配置项的配置值一般成对出现。
具体的,应用程序的版本号配置项的配置值和版本名配置项的配置值之间的对应关系具体可由开发人员进行设置。举例来说,若应用程序A为第一次发布,则正式版本的版本号配置项对应的配置值可为1,版本名配置项对应的配置值可为1.0.0,若应用程序A为第二次发布,则正式版本的版本号配置项对应的配置值可为2,版本名配置项对应的配置值可为1.0.1。
由于本实施例中需要生成用户体验一致的不同版本类别的应用程序的安装包,而各安装包之间仅版本号配置项和版本名配置项对应的配置值不同,因此,在配置文件中将各版本类别的配置信息中的版本名配置项和版本号配置项对应的配置值均设置为对应的占位符以便于后续修改,并将其余相同配置项对应的配置值设置为相同,以保证各版本类别的安装包的编译环境相同,另外,配置文件中还包括设定版本号和设定版本名以根据设定版本号和设定版本名获取各版本类别对应的版本号和版本名。
其中,设定版本号和设定版本名可由开发人员根据实际需要进行设定。
具体的,配置文件可为build.gradle配置文件。
步骤130、根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名,并将配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名。
获取到应用程序的代码和配置文件后,可根据配置文件中的设定版本号和设定版本名获取每个版本类别对应的版本号和版本名。
其中,根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名的获取规则可根据实际情况进行设定,本实施例对此不进行限定。
示例性的,开发人员可将设定版本号和设定版本名分别设置为本次发布的正式版本的版本号和版本名。如若设定版本号为10,设定版本名为1.0.10,则正式版本对应的版本号可为10,版本名为1.0.10,灰度版本对应的版本号可为设定版本号减1,即9,版本名可为设定版本名的最后一位减0.1,即1.0.0.9,测试版本对应的版本号可为设定版本号减2,即8,版本名可为设定版本名的最后一位减0.2,即1.0.0.8,由此,可根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名。
获取每个版本类别对应的版本号和版本名后,将配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本号,由此,可从修改后的配置文件中获取到每个版本类别对应的版本号和版本名。
步骤140、分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
将配置文件中的占位符进行修改后,则分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
示例性的,在将配置文件中的占位符进行修改后,可同时启动三个进程,其中,一个进程中执行根据修改后的配置文件中测试版本的配置信息编译从代码仓库中获取的应用程序的代码并打包生成测试版本的安装包;一个进程中执行根据修改后的配置文件中灰度版本的配置信息编译从代码仓库中获取的应用程序的代码并打包生成灰度版本的安装包;一个进程中执行根据修改后的配置文件中正式版本的配置信息编译从代码仓库中获取的应用程序的代码并打包生成正式版本的安装包,进而通过不同的进程生成不同版本类别的安装包。
由此,基于获取的某一应用程序的同一份代码,在相同的编译环境下同时生成该应用程序不同版本类别的安装包,进而保证生成用户体验一致的不同版本类别的安装包,且仅需对其中任一版本类别的安装包进行测试,即可将测试结果作为本次生成所有版本类别的安装包的测试结果,大大减少应用程序发布过程中对安装包的测试次数,节省人力以及测试资源。
本发明实施例通过接收应用程序的代码更新通知,其中代码更新通知中包括应用程序在代码仓库中的存储地址;从存储地址中获取应用程序的代码以及应用程序的配置文件;其中配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,配置信息至少包括版本号配置项、版本名配置项、与版本号配置项对应的占位符以及与版本名配置项对应的占位符;根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名,并将配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包。解决了由于测试版本安装包、灰度版本安装包以及正式版本安装包在应用程序发布流程中的不同阶段生成,导致需分别对测试版本安装包、灰度版本安装包以及正式版本安装包三个安装包进行测试,浪费人力物力的问题以及导致三个安装包之间的用户体验不一致的问题,实现基于应用程序的同一份代码,在相同的编译环境下,同时生成不同版本类别的安装包,进而保证各版本类别的安装包用户体验一致,且测试人员仅需对其中一个版本类别的安装包进行测试,大大降低应用程序发布过程中对安装包的测试次数,节省人力以及测试资源。。
实施例二
图2为本发明实施例而提供的一种应用程序安装包的生成方法的流程图。本实施例为在上述实施例的基础上进行进一步限定。本实施例中将版本类别优化为至少包括:测试版本、灰度版本和正式版本;将在分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包之后,还包括:分别将每个版本类别对应的应用程序的安装包拷贝至目标服务器中该版本类别对应的目标目录中;将在分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包之后,还包括:发送邮件至目标邮箱地址以使得测试人员对测试版本对应的应用程序的安装包进行测试。
参见图2,本实施例提供的方法具体包括:
步骤210、接收应用程序的代码更新通知;
其中,代码更新通知中包括应用程序在代码仓库中的存储地址。
步骤220、从存储地址中获取应用程序的代码以及应用程序的配置文件。
其中,配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,配置信息至少包括版本号配置项、版本名配置项、与版本号配置项对应的占位符以及与版本名配置项对应的占位符。
其中,版本类别至少包括测试版本、灰度版本和正式版本。
步骤230、根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名,并将配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名。
步骤240、分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
其中,步骤210-步骤240在上述实施例中以进行详细说明,本实施例中不再赘述。
步骤250、分别将每个版本类别对应的应用程序的安装包拷贝至目标服务器中该版本类别对应的目标目录中。
示例性的,在相应的进程中,生成某一个版本类别的对应的应用程序的安装包后,则将该安装包拷贝至目标服务器中该版本类别对应的目标目录中,进而将各版本类别的安装包自动存储至目标服务器中,以供测试人员从目标服务器中获取各版本类别的安装包。
步骤260、发送邮件至目标邮箱地址以使得测试人员对测试版本对应的应用程序的安装包进行测试。
优选的,本实施例中,在生成各版本类别对应的安装包后,则可发送邮件至目标邮箱地址,以及时通知测试人员对测试版本对应的安装包进行测试。
优选的,若测试版本对应的安装包测试未通过,则开发人员修改应用程序的代码和\或配置文件并将修改后的代码和\或配置文件再次提交到代码仓库中,则再次执行步骤210;若测试版本对应的安装包测试通过,则直接将本次生成的灰度版本对应的安装包进行发布以供部分用户体验基于本次提交的代码所生成的应用程序,无需对灰度版本对应的安装包进行测试,并根据用户的反馈结果决定是否发布正式版本,若根据用户的反馈结果确定基于本次提交的代码所生成的应用程序有一定缺陷,则开发人员根据用户反馈结果进行改进,再次修改应用程序的代码和\或配置文件并将修改后的代码和\或配置文件再次提交到代码仓库中,则再次执行步骤210;如果决定发布正式版本,则将正式版本进行发布,无需对正式版本对应的安装包进行测试,以供所有用户可下载安装基于本次提交的代码所生成的应用程序。
本发明实施例通过在分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包之后,分别将每个版本类别对应的应用程序的安装包拷贝至目标服务器中该版本类别对应的目标目录中,可实现自动将生成的各版本类别的安装包保存至目标服务器对应的目标目录下,以供测试人员及时从目标服务器中获取各版本类别的安装包;通过发送邮件至目标邮箱地址以使得测试人员对测试版本对应的应用程序的安装包进行测试,实现在生成各版本类别的安装包后及时通知测试人员可对测试安装包进行测试。
实施例三
图3为本发明实施例四提供的一种应用程序安装包的生成装置的结构框图。该装置可由软件和\或硬件组成,该装置一般可集成于终端中。参见图3,本实施例提供的装置包括:通知接收模块310、配置文件获取模块320、占位符修改模块330和安装包生成模块340,其中,
通知接收模块310,用于接收应用程序的代码更新通知;其中所述代码更新通知中包括所述应用程序在代码仓库中的存储地址;
配置文件获取模块320,用于从所述存储地址中获取所述应用程序的代码以及所述应用程序的配置文件;其中所述配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,所述配置信息至少包括版本号配置项、版本名配置项、与所述版本号配置项对应的占位符以及与所述版本名配置项对应的占位符;
占位符修改模块330,用于根据所述设定版本号和所述设定版本名获取每个版本类别对应的版本号和版本名,并将所述配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;
安装包生成模块340,用于分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
本发明实施例通过通知接收模块接收应用程序的代码更新通知,其中代码更新通知中包括应用程序在代码仓库中的存储地址,配置文件获取模块从存储地址中获取应用程序的代码以及所述应用程序的配置文件,其中配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,配置信息至少包括版本号配置项、版本名配置项、与版本号配置项对应的占位符以及与版本名配置项对应的占位符,占位符修改模块根据设定版本号和设定版本名获取每个版本类别对应的版本号和版本名,并将配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;安装包生成模块分别根据修改后的配置文件中每个版本类别的配置信息编译应用程序的代码并打包生成该版本类别对应的应用程序的安装包。解决了由于测试版本安装包、灰度版本安装包以及正式版本安装包生成的时间差别较大,导致需分别对测试版本安装包、灰度版本安装包以及正式版本安装包三个安装包进行测试,浪费人力物力的问题以及导致三个安装包之间的用户体验不一致的问题,实现同时基于应用程序的同一份代码,在相同的编译环境下,生成不同版本类别的安装包,进而保证各版本类别的安装包用户体验一致,且测试人员仅需对其中一个版本类别的安装包进行测试,提高测试效率,节省人力物力。
上述方案中,可选的是,所述版本类别至少包括测试版本、灰度版本和正式版本。
上述方案中,可选的是,所述装置还包括:
安装包拷贝模块,用于分别将每个版本类别对应的应用程序的安装包拷贝至目标服务器中该版本类别对应的目标目录中。
上述方案中,可选的是,所述装置还包括:邮件发送模块,用于发送邮件至目标邮箱地址以使得测试人员对测试版本对应的应用程序的安装包进行测试。
实施例四
图4为本发明实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例中的用户状态的提醒方法对应的程序指令/模块(例如,应用程序安装包的生成装置中的通知接收模块310、配置文件获取模块320、占位符修改模块330和安装包生成模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的用于电子设备的操作。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的应用程序安装包的生成方法。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的方法。
值得注意的是,上述应用程序安装包的生成装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种应用程序安装包的生成方法,其特征在于,包括:
接收应用程序的代码更新通知;其中所述代码更新通知中包括所述应用程序在代码仓库中的存储地址;
从所述存储地址中获取所述应用程序的代码以及所述应用程序的配置文件;其中所述配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,所述配置信息至少包括版本号配置项、版本名配置项、与所述版本号配置项对应的占位符以及与所述版本名配置项对应的占位符;
根据所述设定版本号和所述设定版本名获取每个版本类别对应的版本号和版本名,并将所述配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;
分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
2.根据权利要求1所述的方法,其特征在于,所述版本类别至少包括测试版本、灰度版本和正式版本。
3.根据权利要求1所述的方法,其特征在于,在所述分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包之后,还包括:
分别将每个版本类别对应的应用程序的安装包拷贝至目标服务器中该版本类别对应的目标目录中。
4.根据权利要求1所述的方法,其特征在于,在所述分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包之后,还包括:
发送邮件至目标邮箱地址以使得测试人员对测试版本对应的应用程序的安装包进行测试。
5.一种应用程序安装包的生成装置,其特征在于,包括:
通知接收模块,用于接收应用程序的代码更新通知;其中所述代码更新通知中包括所述应用程序在代码仓库中的存储地址;
配置文件获取模块,用于从所述存储地址中获取所述应用程序的代码以及所述应用程序的配置文件;其中所述配置文件中至少包括设定版本号、设定版本名和至少两个版本类别对应的配置信息,所述配置信息至少包括版本号配置项、版本名配置项、与所述版本号配置项对应的占位符以及与所述版本名配置项对应的占位符;
占位符修改模块,用于根据所述设定版本号和所述设定版本名获取每个版本类别对应的版本号和版本名,并将所述配置文件中每个版本类别的版本号配置项对应的占位符对应修改为该版本类别对应的版本号以及将每个版本类别的版本名配置项对应的占位符对应修改为该版本类别对应的版本名;
安装包生成模块,用于分别根据修改后的配置文件中每个版本类别的配置信息编译所述应用程序的代码并打包生成该版本类别对应的应用程序的安装包。
6.根据权利要求5所述的装置,其特征在于,所述版本类别至少包括测试版本、灰度版本和正式版本。
7.根据权利要求5所述的装置,其特征在于,还包括:
安装包拷贝模块,用于分别将每个版本类别对应的应用程序的安装包拷贝至目标服务器中该版本类别对应的目标目录中。
8.根据权利要求5所述的装置,其特征在于,还包括:
邮件发送模块,用于发送邮件至目标邮箱地址以使得测试人员对测试版本对应的应用程序的安装包进行测试。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4任一所述的应用程序安装包的生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一所述的应用程序安装包的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810069800.7A CN108319460B (zh) | 2018-01-24 | 2018-01-24 | 应用程序安装包的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810069800.7A CN108319460B (zh) | 2018-01-24 | 2018-01-24 | 应用程序安装包的生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108319460A true CN108319460A (zh) | 2018-07-24 |
CN108319460B CN108319460B (zh) | 2021-09-17 |
Family
ID=62887697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810069800.7A Active CN108319460B (zh) | 2018-01-24 | 2018-01-24 | 应用程序安装包的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319460B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388571A (zh) * | 2018-10-15 | 2019-02-26 | 五八有限公司 | 获取标识信息的方法、装置、计算机设备及存储介质 |
CN110244977A (zh) * | 2019-05-21 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 定制化软件生成方法、***、电子设备及存储介质 |
CN110858143A (zh) * | 2018-08-22 | 2020-03-03 | 广州虎牙信息科技有限公司 | 一种安装包生成方法、装置、设备及存储介质 |
CN110895471A (zh) * | 2018-09-12 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 安装包生成方法、装置、介质及电子设备 |
CN111273963A (zh) * | 2020-02-14 | 2020-06-12 | 广州极尚网络技术有限公司 | 应用程序配置信息生成方法、装置、计算机设备和介质 |
CN112000364A (zh) * | 2020-08-20 | 2020-11-27 | 广州市百果园信息技术有限公司 | 应用程序的打包方法、装置、设备及存储介质 |
CN112667498A (zh) * | 2020-12-22 | 2021-04-16 | 北京像素软件科技股份有限公司 | 服务器搭建方法、装置、计算机设备和可读存储介质 |
CN112685048A (zh) * | 2021-01-05 | 2021-04-20 | 南方电网深圳数字电网研究院有限公司 | 应用程序打包方法、电子设备及存储介质 |
CN112698852A (zh) * | 2020-11-30 | 2021-04-23 | 厦门亿联网络技术股份有限公司 | App灰度升级方法、装置、终端设备及计算机可读存储介质 |
CN112783533A (zh) * | 2021-02-03 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 版本信息更新方法、装置、终端及存储介质 |
CN113094121A (zh) * | 2021-04-30 | 2021-07-09 | 腾讯科技(成都)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572580B2 (en) * | 2008-07-28 | 2013-10-29 | Microsoft Corporation | Computer application packages with customizations |
CN104252364A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 增量更新的方法、设备及*** |
CN105653287A (zh) * | 2015-12-31 | 2016-06-08 | 北京元心科技有限公司 | 一种程序自动版本发布方法和装置 |
CN106155651A (zh) * | 2015-03-31 | 2016-11-23 | 广州四三九九信息科技有限公司 | 应用程序版本的自动化发布及更新的方法和*** |
-
2018
- 2018-01-24 CN CN201810069800.7A patent/CN108319460B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572580B2 (en) * | 2008-07-28 | 2013-10-29 | Microsoft Corporation | Computer application packages with customizations |
CN104252364A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 增量更新的方法、设备及*** |
CN106155651A (zh) * | 2015-03-31 | 2016-11-23 | 广州四三九九信息科技有限公司 | 应用程序版本的自动化发布及更新的方法和*** |
CN105653287A (zh) * | 2015-12-31 | 2016-06-08 | 北京元心科技有限公司 | 一种程序自动版本发布方法和装置 |
Non-Patent Citations (1)
Title |
---|
ANTHONY_TESTER: "Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(二)", 《HTTPS://BLOG.CSDN.NET/U011541946/ARTICLE/DETAILS/78278494?UTM_MEDIUM=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BLOGCOMMENDFROMMACHINELEARNPAI2-3.CHANNEL_PARAM&DEPTH_1-UTM_SOURCE=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-BLOGCOMMENDFROMMACHINELEARNPAI2-3.CHA * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858143A (zh) * | 2018-08-22 | 2020-03-03 | 广州虎牙信息科技有限公司 | 一种安装包生成方法、装置、设备及存储介质 |
CN110858143B (zh) * | 2018-08-22 | 2023-07-28 | 广州虎牙信息科技有限公司 | 一种安装包生成方法、装置、设备及存储介质 |
CN110895471A (zh) * | 2018-09-12 | 2020-03-20 | 北京京东尚科信息技术有限公司 | 安装包生成方法、装置、介质及电子设备 |
CN109388571B (zh) * | 2018-10-15 | 2021-11-23 | 五八有限公司 | 获取标识信息的方法、装置、计算机设备及存储介质 |
CN109388571A (zh) * | 2018-10-15 | 2019-02-26 | 五八有限公司 | 获取标识信息的方法、装置、计算机设备及存储介质 |
CN110244977A (zh) * | 2019-05-21 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 定制化软件生成方法、***、电子设备及存储介质 |
CN111273963A (zh) * | 2020-02-14 | 2020-06-12 | 广州极尚网络技术有限公司 | 应用程序配置信息生成方法、装置、计算机设备和介质 |
CN111273963B (zh) * | 2020-02-14 | 2023-02-24 | 广州极尚网络技术有限公司 | 应用程序配置信息生成方法、装置、计算机设备和介质 |
CN112000364A (zh) * | 2020-08-20 | 2020-11-27 | 广州市百果园信息技术有限公司 | 应用程序的打包方法、装置、设备及存储介质 |
CN112000364B (zh) * | 2020-08-20 | 2024-05-28 | 广州市百果园信息技术有限公司 | 应用程序的打包方法、装置、设备及存储介质 |
CN112698852A (zh) * | 2020-11-30 | 2021-04-23 | 厦门亿联网络技术股份有限公司 | App灰度升级方法、装置、终端设备及计算机可读存储介质 |
CN112667498A (zh) * | 2020-12-22 | 2021-04-16 | 北京像素软件科技股份有限公司 | 服务器搭建方法、装置、计算机设备和可读存储介质 |
CN112685048A (zh) * | 2021-01-05 | 2021-04-20 | 南方电网深圳数字电网研究院有限公司 | 应用程序打包方法、电子设备及存储介质 |
CN112783533A (zh) * | 2021-02-03 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 版本信息更新方法、装置、终端及存储介质 |
CN113094121A (zh) * | 2021-04-30 | 2021-07-09 | 腾讯科技(成都)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108319460B (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319460A (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
Balalaie et al. | Microservices migration patterns | |
CN109358858B (zh) | 自动化部署方法、装置、介质及电子设备 | |
US8978015B2 (en) | Self validating applications | |
US11288055B2 (en) | Model-based differencing to selectively generate and deploy images in a target computing environment | |
CN105740093A (zh) | 备份方法、环境更新预先检测方法及其*** | |
US20150220308A1 (en) | Model-based development | |
CN108776643B (zh) | 一种基于版本控制流程的目标代码合并控制方法及*** | |
US10169222B2 (en) | Apparatus and method for expanding the scope of systems management applications by runtime independence | |
CN112685035A (zh) | 项目开发方法及装置、计算机可读存储介质、电子设备 | |
US20200057622A1 (en) | Management of updates to externally managed libraries | |
CN113127347A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
US8661414B2 (en) | Method and system for testing an order management system | |
CN106897223A (zh) | 一种基于持续集成的软件包交付方法及装置 | |
CN111158730A (zh) | ***更新方法、装置、电子设备和可读存储介质 | |
CN115658237A (zh) | 一种容器应用自动部署方法、设备、装置、设备及介质 | |
CN108804315B (zh) | 应用于动态开发的测试方法、装置、电子设备及存储介质 | |
CN107341106A (zh) | 应用程序兼容性检测方法、开发终端及存储介质 | |
CN107943504A (zh) | 一种嵌入式***中软件模块的动态升级方法 | |
US20230069485A1 (en) | Generating and distributing customized embedded operating systems | |
US9760364B2 (en) | Checks for software extensions | |
CN103064783A (zh) | 使用重复利用动态链接库进行功能测试的***和方法 | |
CN114035786A (zh) | 一种基于依赖的微前端兼容迁移方法及*** | |
CN113032004B (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
US8813034B2 (en) | System and method for testing a software unit of an application |
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 |