CN110231956A - 应用程序版本构建的方法、系统及装置 - Google Patents

应用程序版本构建的方法、系统及装置 Download PDF

Info

Publication number
CN110231956A
CN110231956A CN201910538559.2A CN201910538559A CN110231956A CN 110231956 A CN110231956 A CN 110231956A CN 201910538559 A CN201910538559 A CN 201910538559A CN 110231956 A CN110231956 A CN 110231956A
Authority
CN
China
Prior art keywords
version
code
server
application
request
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
Application number
CN201910538559.2A
Other languages
English (en)
Other versions
CN110231956B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910538559.2A priority Critical patent/CN110231956B/zh
Publication of CN110231956A publication Critical patent/CN110231956A/zh
Application granted granted Critical
Publication of CN110231956B publication Critical patent/CN110231956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本申请公开了一种应用程序版本构建,属于互联网领域。所述方法包括:接收终端发送的应用程序版本构建请求,在版本服务器集群中确定出第一版本服务器,向所述第一版本服务器转发所述应用程序版本构建请求,所述应用程序版本构建请求用于指示所述第一版本服务器向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向所述管理服务器返回所述待构建的应用程序版本的构建成功消息,当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。通过本申请可以使应用程序版本构建的效率更高。

Description

应用程序版本构建的方法、系统及装置
技术领域
本申请涉及互联网领域,特别涉及一种应用程序版本构建的方法、系统及装置。
背景技术
随着用户对应用程序的使用需求不断变化,应用程序也就要进行相应的版本更新以满足用户需求。通常用户可以使用版本更新后的应用程序的前提是运维人员已经将应用程序的更新版本部署到相应的应用程序服务器中,然而在运维人员部署更新的应用程序版本之前,还需要开发人员更新代码、PM(Project Manager,项目经理)进行应用程序版本构建、QA(Quality Assurance,质量管理)人员对发布的应用程序版本进行测试等过程。
目前,对于PM每次进行版本构建时,需要自己向开发人员获取更新代码,并自己选择一个版本服务器,将更新代码上传到该版本服务器中对更新代码进行编译等处理,以完成应用程序版本构建。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
一般在成功向公众发布一个应用程序版本之前,都需要构建多个用来测试的应用程序版本,来调整应用程序功能,修复bug(缺陷)等,那么,PM就需要反复进行上述流程进行应用程序版本构建,这样对于应用程序版本构建的效率很低。
发明内容
本申请实施例提供了一种应用程序版本构建的方法,能够解决应用程序版本构建效率低的问题。所述技术方案如下:
第一方面,提供了一种应用程序版本构建的方法,所述方法包括:
接收终端发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器;
向所述第一版本服务器转发所述应用程序版本构建请求,所述应用程序版本构建请求用于指示所述第一版本服务器向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向所述管理服务器返回所述待构建的应用程序版本的构建成功消息;
当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
可选的,所述基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器,包括:
基于所述待构建的应用程序版本的版本号和版本类型的哈希值,以及一致性哈希算法,在版本服务器集群中确定出第一版本服务器。
可选的,所述接收终端发送的应用程序版本构建请求之后,还包括:
向版本数据库服务器发送应用程序版本存储请求,其中,所述应用程序版本存储请求中携带有所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号,所述应用程序版本存储请求用于指示所述版本数据库将所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号对应存储;
所述方法还包括:
接收所述终端发送的第一代码分支构建请求,其中,所述第一代码分支构建请求中携带有已构建的目标应用程序版本的版本号和版本类型;
向所述版本数据库服务器发送对所述目标应用程序版本对应的最新代码的版本号查询请求,接收所述版本数据库服务器发送的所述最新代码的版本号;
基于所述目标应用程序版本的版本号,确定待构建的代码分支的分支名;
基于所述目标应用程序版本的版本号和版本类型的特征信息,在所述版本服务器集群中确定出第二版本服务器;
向所述第二版本服务器发送第二代码分支构建请求,其中,所述第二代码分支构建请求中携带有所述最新代码的版本号和所述分支名,所述第二代码分支构建请求用于指示所述第二版本服务器向所述代码服务器转发所述第二代码分支构建请求,以使所述代码服务器基于所述最新代码构建代码分支,并将构建的代码分支与所述第二代码分支构建请求中携带的所述分支名对应存储。
可选的,所述接收所述第一版本服务器返回的所述构建成功消息之后,还包括:
接收所述第一版本服务器发送的所述待构建的应用程序版本对应的部署变更信息;
向版本数据库服务器发送部署变更信息存储请求,其中,所述部署变更信息存储请求中携带有所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息,所述部署变更信息存储请求用于指示所述版本数据库服务器对所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息对应存储;
所述方法还包括:
接收所述终端发送的应用程序版本汇总请求,其中,所述应用程序版本汇总请求中携带有待汇总的应用程序版本的版本号;
向所述版本数据库服务器转发所述应用程序版本汇总请求,接收所述版本数据库返回的所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息;
向质量管理QA终端发送所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息。
第二方面、提供了一种应用程序版本构建的方法,所述方法包括:
接收管理服务器发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本对应的第一代码的版本号;
向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息,所述构建成功消息用于指示所述管理服务器向终端转发所述构建成功消息。
可选的,所述第一代码中包括格式化语言编写的应用程序数据库代码,所述确定所述可运行文件可成功运行之后,还包括:
获取所述第一代码的版本号的前一版本号对应的第二代码,将所述第二代码中的应用程序数据库代码与所述第一代码中的应用程序数据库代码进行比较,确定所述第二代码中的应用程序数据库代码相对于所述第一代码中的应用程序数据库代码发生变更的数据库字段,基于所述发生变更的数据库字段,生成所述待构建的应用程序版本对应的部署变更信息;
向所述管理服务器发送所述待构建的应用程序版本对应的部署变更信息。
第三方面、提供了一种应用程序版本构建的系统,所述系统包括终端、管理服务器、第一版本服务器和代码服务器,其中:
所述终端用于,向所述管理服务器发送应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
所述管理服务器用于,接收终端发送的应用程序版本构建请求,基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器,向所述第一版本服务器转发所述应用程序版本构建请求;
所述第一版本服务器用于,接收所述管理服务器发送的应用程序版本构建请求,向所述代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
所述代码服务器用于,向所述第一版本服务器发送所述第一代码;
所述第一版本服务器用于,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息;
所述管理服务器用于,当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
可选的,所述系统还包括版本数据库服务器和第二版本服务器,其中:
所述管理服务器还用于,向版本数据库服务器发送应用程序版本存储请求,其中,所述应用程序版本存储请求中携带有所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
所述版本数据库服务器用于,接收所述程序版本存储请求,将所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号对应存储;
所述管理服务器还用于,接收所述终端发送的第一代码分支构建请求,其中,所述第一代码分支构建请求中携带有已构建的目标应用程序版本的版本号和版本类型,向所述版本数据库服务器发送对所述目标应用程序版本对应的最新代码的版本号查询请求;
所述版本数据库服务器用于,接收所述目标应用程序版本对应的最新代码的版本号查询请求,向所述版本数据库服务器发送所述最新代码的版本号;
所述管理服务器还用于,接收所述版本数据库服务器发送的所述最新代码的版本号,基于所述目标应用程序版本的版本号,确定待构建的代码分支的分支名,基于所述目标应用程序版本的版本号和版本类型的特征信息,在所述版本服务器集群中确定出第二版本服务器,向所述第二版本服务器发送第二代码分支构建请求,其中,所述第二代码分支构建请求中携带有所述最新代码的版本号和所述分支名;
所述代码服务器用于,接收所述第二代码分支构建请求,基于所述最新代码构建代码分支,并将构建的代码分支与所述第二代码分支构建请求中携带的所述分支名对应存储。
可选的,所述管理服务器还用于,向版本数据库服务器发送部署变更信息存储请求,其中,所述部署变更信息存储请求中,携带有所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息;
所述版本数据库服务器用于,接收所述部署变更信息存储请求,将所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息对应存储;
所述管理服务器还用于,接收所述终端发送的应用程序版本汇总请求,其中,所述应用程序版本汇总请求中携带有待汇总的应用程序版本的版本号,向所述版本数据库服务器转发所述应用程序版本汇总请求;
所述版本数据库服务器用于,接收所述应用程序版本汇总请求,向所述管理服务器发送所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息;
所述管理服务器用于,接收所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息,并将所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息发送给QA终端。
第四方面、提供了一种应用程序版本构建的装置,所述装置应用于管理服务器,所述装置包括:
接收模块,用于接收终端发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
确定模块,用于基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器;
构建模块,用于向所述第一版本服务器转发所述应用程序版本构建请求,所述应用程序版本构建请求用于指示所述第一版本服务器向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向所述管理服务器返回所述待构建的应用程序版本的构建成功消息;
转发模块,用于当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
第五方面、提供了一种应用程序版本构建的装置,所述装置应用于版本服务器,其特征在于,所述装置包括:
接收模块,用于接收管理服务器发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本对应的第一代码的版本号;
发送模块,用于向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
构建模块,用于接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息,所述构建成功消息用于指示所述管理服务器向终端转发所述构建成功消息。
本申请实施例提供的技术方案带来的有益效果是:
管理服务器可以接收终端发送的应用程序版本构建请求,此处终端发送的应用程序版本构建请求,为用户下发的,即用户每次需要进行应用程序版本构建时都只需在终端下发应用程序版本构建请求即可。管理服务器选择一个版本服务器,将该程序版本构建请求转发给该版本服务器,版本服务器可以根据该程序版本构建请求中携带的信息,向代码服务器请求第一代码,并对该第一代码进行编译,对编译得到的目标文件进行运行,如果可以成功运行,则向管理服务器发送构建成功消息,管理服务器再向终端转发该构建成功消息,用户便可以得知应用程序版本构建成功,该过程无需用户再进行操作,这样应用程序版本构建效率更高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的实施环境的示意图;
图2是本申请实施例提供的应用程序版本构建的方法流程图;
图3是本申请实施例提供的应用程序版本构建的方法流程图;
图4是本申请实施例提供的应用程序版本构建的方法流程图;
图5是本申请实施例提供的终端界面示意图;
图6是本申请实施例提供的应用程序版本构建的方法流程图;
图7是本申请实施例提供的终端界面示意图;
图7A是本申请实施例提供的终端界面示意图;
图8是本申请实施例提供的应用程序版本构建的方法流程图;
图9是本申请实施例提供的应用程序版本构建的装置结构示意图;
图10是本申请实施例提供的应用程序版本构建的装置结构示意图;
图11是本申请实施例提供的一种管理服务器结构示意图;
图12是本申请实施例提供的一种版本服务器结构示意图;
图13是本申请实施例提供的一种版本数据库服务器结构示意图;
图14是本申请实施例提供的一种代码服务器结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种实施环境的示意图。参见图1,实施环境中包括有终端、管理服务器、代码服务器、版本服务器和版本数据库服务器,各设备之间的连通关系可以如图1所示。在终端中可以为用户提供可视化操作界面,用户通过该终端下发应用程序版本构建请求,以使实施环境中的各设备执行本申请提供的应用程序版本构建方法,以构建出新的应用程序版本。
图2是本申请实施例提供的一种应用程序版本构建的方法的流程图。该方法可以由管理服务器实现,参见图2,该实施例步骤包括:
步骤201、接收终端发送的应用程序版本构建请求,其中,应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号。
步骤202、基于待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器。
步骤203、向第一版本服务器转发所述应用程序版本构建请求,应用程序版本构建请求用于指示第一版本服务器向代码服务器发送代码获取请求,其中,代码获取请求中携带有第一代码的版本号。
步骤204、接收代码服务器发送的所述第一代码,对第一代码进行编译,得到目标文件,确定目标文件可成功运行,向管理服务器返回待构建的应用程序版本的构建成功消息。
步骤205、当接收第一版本服务器返回的构建成功消息时,向终端转发构建成功消息。
图3是本申请实施例提供的一种应用程序版本构建的方法的流程图。该方法可以由版本服务器实现,参见图3,该实施例步骤包括:
步骤301、接收管理服务器发送的应用程序版本构建请求,其中,应用程序版本构建请求中携带有待构建的应用程序版本对应的第一代码的版本号。
步骤302、向代码服务器发送代码获取请求,其中,代码获取请求中携带有所述第一代码的版本号。
步骤303、接收代码服务器发送的第一代码,对第一代码进行编译,得到目标文件,确定所述可运行文件可成功运行,向管理服务器返回待构建的应用程序版本的构建成功消息,构建成功消息用于指示管理服务器向终端转发构建成功消息。
本方法可以应用于对待构建的应用程序版本进行构建,对已构建的应用程序版本的代码建立代码分支,以及对已构建的应用程序版本进行汇总,下面以三个实施例对以上三种应用分别进行说明。
实施例一、对待构建的应用程序版本进行构建。
本实施例可以由终端、管理服务器、第一版本服务器、代码服务器和版本数据库服务器,参见图4,该实施例步骤包括:
步骤401、终端向管理服务器发送应用程序版本构建请求,管理服务器接收终端发送的应用程序版本构建请求。
其中,应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号,版本类型一般可以有三种用于内容测试的Publish类型、用于外网灰度部署的GServer(Gray Server,灰度服务器)类型和用于外网全量部署的NServer(normal Server,普通服务器)类型。
在实施中,管理服务器可以部署有应用程序版本管理系统,在终端中提供有可对应用程序版本管理系统进行操作的界面,用户可以通过操作界面,来实现对应用程序版本管理系统的操作。即通过终端发送请求,以使管理服务器执行请求。参见图5,为终端提供的应用程序版本构建界面,在该应用程序版本构建界面的上方为公共标签栏,显示有应用程序版本,如Debug(测试)版本、Rslease(发行)版本,还可以有Patch(补丁)版本、Trunk(主干)版本,除此之外还可以有一些其他选项标签如Tools(工具)、Branch(分支)。例如,用户需要构建的应用程序版本为Release版本,则可以点击选中公共标签栏中的Release选项,则会跳转到图5所示界面。在该界面中可以显示有版本类型、SVN版本号(该SVN版本号为应用程序版本对应的代码的版本号,通常可以称为SVN版本号,为了使界面简洁在界面中则显示SVN版本号)、版本号(该版本号为待构建的应用程序的版本号)等等,在界面下方有提交选项。在该界面中用户要填上相应信息,并点击提交,则可以触发终端向管理服务器发送应用程序版本构建请求。在该版本构建请求中可以携带有用户在图5所示界面中填写的全部信息。管理服务器接收该终端发送的应用程序版本构建请求。
可选的,管理服务器还可以将接收到应用程序版本构建请求中携带的信息存储到版本数据库服务器中,以便后续使用,相应的,可以有如下处理:管理服务器向版本数据库服务器发送应用程序版本存储请求,其中,应用程序版本存储请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号,版本数据库接收管理服务器发送的应用程序版本存储请求,并将待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号对应存储。
在实施中,版本数据库服务器中可以存储有应用程序版本构建任务信息表,表项可以有应用程序版本的版本号、版本类型、对应代码的版本号等,在接收到管理服务器发送的应用程序版本存储请求时,可以将请求汇总携带的信息在表中进行存储。
步骤402、管理服务器基于待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器。
在实施中,版本服务器可以为分布式部署,则每次管理服务器在向版本服务器发送请求时,可以先根据负载均衡在版本服务器集群中确定出执行该请求的版本服务器,并将该请求发送给确定出的版本服务器。
可选的,可以基于一致性哈希算法实现负载均衡,相应的,处理可以如下:管理服务器基于待构建的应用程序版本的版本号和版本类型的哈希值,以及一致性哈希算法,在版本服务器集群中确定出第一版本服务器。
在实施中,管理服务器先计算出待构建的应用程序版本的版本号和版本类型结合的哈希值,然后根据一致性哈希算法,在版本服务器集群中确定出执行应用程序构建请求的第一版本服务器。
步骤403、管理服务器向第一版本服务器转发应用程序版本构建请求,第一版本服务器接收管理服务器发送的应用程序版本构建请求。
步骤404、第一版本服务器向代码服务器发送代码获取请求,代码服务器接收第一版本服务器发送的代码获取请求。
其中,代码获取请求中携带有第一代码的版本号。
步骤405、代码服务器向第一版本服务器发送第一代码,第一版本服务器接收代码服务器发送的第一代码。
在实施中,开发人员每次开发出新的功能、或者修改了某些功能,都可以将编写的代码按照规则给与版本号后,将代码和代码的版本号一起上传到代码服务器,由代码服务器进行存储。在接收到第一版本服务器发送的代码获取请求后,代码服务器根据代码获取请求中携带的第一代码的版本号,将第一代码发送给第一版本服务器。另外,开发人员在将代码上传到代码服务器时,还可以同时将代码对应的进程配置文件一起上传到代码服务器进行存储,那么代码服务器在向第一版本服务器发送第一代码时,还可以将该第一代码对应的进程配置文件一同发送给第一版本服务器。
步骤406、第一版本服务器对第一代码进行编译,得到目标文件,确定目标文件可成功运行。
在实施中,第一版本服务器采用预设的规则对第一代码进行编译,同时,根据第一代码对应的进行配置文件,对由第一代码编译得到的目标文件进行配置,并对配置好的目标文件进行启动运行,如果可以成功启动,则说明应用程序版本构建成功。
可选的,第一版本服务器在对第一代码进行编译后,可以加载安装的数据库字段变更检测插件和部署变更信息生成插件,对第一代码中的应用程序数据库代码进行检测和生成部署变更信息,相应的,可以有如下S501-S504的处理:
S501、第一版本服务器获取第一代码的版本号的前一版本号对应的第二代码,将第二代码中的应用程序数据库代码与第一代码中的应用程序数据库代码进行比较,确定第二代码中的应用程序数据库代码相对于第一代码中的应用程序数据库代码发生变更的数据库字段,基于发生变更的数据库字段,生成待构建的应用程序版本对应的部署变更信息。
其中,应用程序数据库代码由结构化语言编写,如XML语言。
在实施中,第一版本服务器可以获取该第一代码的版本号的前一版本号对应的第二代码,例如第一代码的版本号为1023,那么第二代码的版本号就可以为1022,该第二代码可以缓存在第一版本服务器中,由第一版本服务器直接获取,也可以是第一版本服务器根据第二代码的版本号,向代码服务器请求获取的。
第一版本服务器加载数据库字段变更检测插件,该数据库字段变更检测插件将第二代码中的应用程序数据库代码与第一代码中的应用程序数据库代码进行比较,可以得出第二代码中的应用程序数据库代码相对于第一代码中的应用程序数据库代码发生变更的数据库字段。例如在第二代码的中的应用程序数据库代码比第一代码中的应用程序数据库代码新增了一个字段A,则部署变更信息生成插件,可以生成“新增字段A”这样的部署变更信息。当然,根据技术人员编写的插件脚本不同,生成的部署变更信息也可以不同,例如,还可以在部署变更信息中呈现出新增字段A的内容描述。
另外,第一版本服务器中还可以安装有进程配置文件检测插件,第一版本服务器在获取第二代码时,可以同时获取第二代码对应的进程配置文件,进程配置文件检测插件可以对第一代码的进程配置文件和第二代码的进程配置文件进行比较,如果有变化,则可以由部署变更信息生成插件生成表明进行配置文件发送变化的部署变更信息。
除上述插件外,第一版本服务器还可以安装有代码合法性检测插件等等,根据实际应用中的不同需求,技术人员可以给第一版本服务器配置有不同功能的插件。
S502、第一版本服务器向管理服务器发送待构建的应用程序版本对应的部署变更信息,管理服务器接收第一版本服务器发送的待构建的应用程序版本对应的部署变更信息。
S503、管理服务器向版本数据库服务器发送部署变更信息存储请求,版本数据库服务器接收部署变更信息存储请求。
其中,部署变更信息存储请求中,携带有待构建的应用程序版本的版本号和待构建的应用程序版本对应的部署变更信息。
S504、版本数据库服务器对待构建的应用程序版本的版本号和待构建的应用程序版本对应的部署变更信息对应存储。
步骤407、第一版本服务器向管理服务器返回待构建的应用程序版本的构建成功消息,管理服务器接收所述第一版本服务器发送的构建成功消息。
步骤408、管理服务器向终端转发构建成功消息。
实施例二、对已构建的应用程序版本的代码建立代码分支
本实施例可以由终端、管理服务器、第二版本服务器、代码服务器和版本数据库服务器,此处的第二版本服务器与上述实施例一中的第一版本服务器可能是同一版本服务器,也可能是不同的版本服务器。参见图6,该实施例步骤包括:
步骤601、终端向管理服务器发送第一代码分支构建请求,管理服务器接收终端发送的第一代码分支构建请求。
其中,第一代码分支构建请求中携带有已构建的目标应用程序版本的版本号和版本类型。
在实施中,如图7所示,在终端的界面上方的公共标签栏中有Branch选项,用户点击该选项可以进入版本管理界面,在该版本管理界面中,左侧为三个版本类型选项,例如选中其中的GServer版本列表,则可以显示有版本类型为GServer类型的应用程序版本的相关信息,在界面中的操作标签下,可以看到每个应用程序版本都对应有一些操作选项,如发送邮件、构建SVN分支等。
用户点击选中某一应用程序版本后的构建SVN分支选项,说明要构建该应用程序版本对应的最新代码的代码分支,则会触发该终端向管理服务器发送第一代码分支构建请求,管理服务器接收该第一代码分支构建请求。此处的最新代码为对应该应用程序版本创建时间最靠后的代码。例如构建一个应用程序版本后,该应用程序版本可能存在一些bug,那么,那么可以再对该应用程序版本构建补丁,则最后一次构建的补丁后的应用程序版本对应的代码则为最新代码。
步骤602、管理服务器向版本数据库服务器发送对目标应用程序版本对应的最新代码的版本号查询请求,版本数据库服务器接收目标应用程序版本对应的最新代码的版本号查询请求。
步骤603、版本数据库服务器向版本数据库服务器发送最新代码的版本号,管理服务器接收版本数据库服务器发送的最新代码的版本号。
在实施中,管理服务器向版本数据库服务器查询目标应用程序版本对应的最新代码的版本号,版本数据库服务器可以通过查询该目标应用程序版本对应的补丁,并将最后一次构建的补丁对应的代码作为该目标应用程序版本对应的最新代码,将该最新代码的版本号返回给管理服务器。管理服务器接收该最新代码对应的版本号。
步骤604、管理服务器基于目标应用程序版本的版本号,确定待构建的代码分支的分支名,基于目标应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第二版本服务器。
其中,特征信息为哈希值。
在实施中,管理服务器根据目标应用程序版本的版本号,可以确定出待构建的代码分支的分支名。例如,可以对目标应用程序版本的版本号加上前缀,一般前缀可以是待构建的代码分支是用来开发什么功能的描述。例如,目标应用程序版本的版本号为1023,待构建的代码分支用来开发商店功能的,那么,命名可以为shop-1023。
在确定第二版本服务器时,管理服务器先计算出目标应用程序版本的版本号和版本类型结合的哈希值,然后根据一致性哈希算法,在版本服务器集群中确定出执行代码分支构建请求的第二版本服务器。
步骤605、管理服务器向第二版本服务器发送第二代码分支构建请求,第二版本服务器接收第二代码分支构建请求。
其中,第二代码分支构建请求中携带有最新代码的版本号和分支名。
步骤606、第二版本服务器向代码服务器转发第二代码分支构建请求,代码版本服务器接收第二代码分支构建请求。
步骤607、代码服务器基于最新代码构建代码分支,并将构建的代码分支与第二代码分支构建请求中携带的分支名对应存储。
在实施中,代码服务器查询出最新代码,并复制该最新代码作为待构建的代码分支。同时代码服务器还可以给该代码分支分配版本号,例如,上述最新代码的版本号为4023,那么该代码分支的版本号就可以为4024。构建完成后,将构建的代码分支与第二代码分支构建请求中携带的分支名对应存储,同时其对应的版本号也可以一同对应存储。
另外,在代码分支构建完成后,代码服务器可以向第二版本服务器返回代码分支构建完成消息,第二版本服务器向管理服务器转发该代码分支构建完成消息,管理服务器在接收到该代码分支构建完成消息后可以向版本数据库服务器发送代码分支的版本号、分支名,版本服务器可以将代码分支的版本号、分支名进行存储。同时,管理服务器还可以向终端转发分支构建完成消息。
实施例三、对已构建的应用程序版本进行汇总
本实施例可以由终端、管理服务器、版本数据库服务器和QA终端。参见图8,该实施例步骤包括:
步骤801、终端向管理服务器发送应用程序版本汇总请求,管理服务器接收终端发送的应用程序版本汇总请求。
其中,应用程序版本汇总请求中携带有待汇总的应用程序版本的版本号。
在实施中,如图7所示,在界面中的操作标签下,每个应用程序版本都对应有一个发送邮件的选项。用对点击选择该选项,说明需要对该应用程序版本进行汇总,则触发终端向管理服务器发送应用程序版本汇总请求。
步骤802、管理服务器向版本数据库转发应用程序版本汇总请求,版本数据库服务器接收管理服务器发送的应用程序版本汇总请求。
步骤803、版本数据库服务器向管理服务器发送待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息。
在实施中,如图5所示,用户在界面中填写待构建的应用程序版本的信息时,有一项为Beta(测试)号,用户可以为多个应用程序版本分配同一个Beta号,那么,对应有相同Beta号的应用程序版本就互为关联应用程序版本。在上述版本数据库服务器中的应用程序版本构建任务信息表中,可以有一个表项为Beta号。则版本数据库服务器在接收到应用程序版本汇总请求后,根据其中的待汇总的应用程序版本的版本号,可以查询与该待汇总的应用程序版本对应有相同Beta号的应用程序版本,确定为该待汇总的应用程序版本的关联应用程序版本。同时,每个应用程序版本还可能有对应的部署变更信息、以及补丁信息,数据库服务器可以将这些信息都返回给管理服务器。
步骤804、管理服务器接收待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及待汇总的应用程序版本的版本号和对应的部署变更信息,并将待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及待汇总的应用程序版本的版本号和对应的部署变更信息发送给QA终端和上述终端。
在实施中,管理服务器可以将接收到的待汇总应用程序版本的补丁信息、对应的部署变更信息,以及关联应用程序版本的补丁信息和部署变更信息,汇总到一个表中,并将该表以邮件的形式发送给QA终端。同时,可以将这些信息也返回给用户的终端。用户的终端接收到这些信息后,可以在界面显示,如图7A所示。图7A所示的界面中则汇总了版本号为1157的应用程序版本的关联应用程序版本的版本号、部署变更信息等。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
基于相同的技术构思,本申请实施例还提供了一应用程序版本构建的装置,如图9所示,该装置包括接收模块901、确定模块902、构建模块903和转发模块904:
接收模块901,用于接收终端发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
确定模块902,用于基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器;
构建模块903,用于向所述第一版本服务器转发所述应用程序版本构建请求,所述应用程序版本构建请求用于指示所述第一版本服务器向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向所述管理服务器返回所述待构建的应用程序版本的构建成功消息;
转发模块904,用于当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
基于相同的技术构思,本申请实施例还提供了一应用程序版本构建的装置,如图10所示,该装置包括接收模块1001、发送模块1002和构建模块1003:
接收模块1001,用于接收管理服务器发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本对应的第一代码的版本号;
发送模块1002,用于向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
构建模块1003,用于接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息,所述构建成功消息用于指示所述管理服务器向终端转发所述构建成功消息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是:上述实施例提供的应用程序版本构建的装置在进行应用程序版本构建时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序版本构建的装置与应用程序版本构建的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本申请实施例还提供了一种应用程序版本构建的系统,所述系统包括终端、管理服务器、第一版本服务器和代码服务器,其中:
所述终端用于,向所述管理服务器发送应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
所述管理服务器用于,接收终端发送的应用程序版本构建请求,基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器,向所述第一版本服务器转发所述应用程序版本构建请求;
所述第一版本服务器用于,接收所述管理服务器发送的应用程序版本构建请求,向所述代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
所述代码服务器用于,向所述第一版本服务器发送所述第一代码;
所述第一版本服务器用于,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息;
所述管理服务器用于,当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
可选的,所述系统还包括版本数据库服务器和第二版本服务器,其中:
所述管理服务器还用于,向版本数据库服务器发送应用程序版本存储请求,其中,所述应用程序版本存储请求中携带有所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
所述版本数据库服务器用于,接收所述程序版本存储请求,将所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号对应存储;
所述管理服务器还用于,接收所述终端发送的第一代码分支构建请求,其中,所述第一代码分支构建请求中携带有已构建的目标应用程序版本的版本号和版本类型,向所述版本数据库服务器发送对所述目标应用程序版本对应的最新代码的版本号查询请求;
所述版本数据库服务器用于,接收所述目标应用程序版本对应的最新代码的版本号查询请求,向所述版本数据库服务器发送所述最新代码的版本号;
所述管理服务器还用于,接收所述版本数据库服务器发送的所述最新代码的版本号,基于所述目标应用程序版本的版本号,确定待构建的代码分支的分支名,基于所述目标应用程序版本的版本号和版本类型的特征信息,在所述版本服务器集群中确定出第二版本服务器,向所述第二版本服务器发送第二代码分支构建请求,其中,所述第二代码分支构建请求中携带有所述最新代码的版本号和所述分支名;
所述代码服务器用于,接收所述第二代码分支构建请求,基于所述最新代码构建代码分支,并将构建的代码分支与所述第二代码分支构建请求中携带的所述分支名对应存储。
可选的,所述管理服务器还用于,向版本数据库服务器发送部署变更信息存储请求,其中,所述部署变更信息存储请求中,携带有所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息;
所述版本数据库服务器用于,接收所述部署变更信息存储请求,将所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息对应存储;
所述管理服务器还用于,接收所述终端发送的应用程序版本汇总请求,其中,所述应用程序版本汇总请求中携带有待汇总的应用程序版本的版本号,向所述版本数据库服务器转发所述应用程序版本汇总请求;
所述版本数据库服务器用于,接收所述应用程序版本汇总请求,向所述管理服务器发送所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息;
所述管理服务器用于,接收所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息,并将所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息发送给QA终端。
需要说明的是,上述实施例提供的应用程序版本构建的系统与应用程序版本构建的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本申请实施例提供的一种管理服务器的结构示意图,该管理服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1101和一个或一个以上的存储器1102,其中,所述存储器1102中存储有至少一条指令,所述至少一条指令由所述处理器1101加载并执行以实现上述各个方法实施例提供的方法。当然,该管理服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
图12是本申请实施例提供的一种版本服务器的结构示意图,该版本服务器可以为上述实施例中的第一版本服务器或第二版本服务器,该版本服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1201和一个或一个以上的存储器1202,其中,所述存储器1202中存储有至少一条指令,所述至少一条指令由所述处理器1101加载并执行以实现上述各个方法实施例提供的方法。当然,该管理服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
图13是本申请实施例提供的一种版本数据库服务器的结构示意图,该版本数据库服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1301和一个或一个以上的存储器1302,其中,所述存储器1302中存储有至少一条指令,所述至少一条指令由所述处理器1301加载并执行以实现上述各个方法实施例提供的方法。当然,该版本数据库服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
图14是本申请实施例提供的一种代码服务器的结构示意图,该代码服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1101和一个或一个以上的存储器1402,其中,所述存储器1402中存储有至少一条指令,所述至少一条指令由所述处理器1401加载并执行以实现上述各个方法实施例提供的方法。当然,该代码服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于存储器中。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种应用程序版本构建的方法,其特征在于,所述方法应用于管理服务器,所述方法包括:
接收终端发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器;
向所述第一版本服务器转发所述应用程序版本构建请求,所述应用程序版本构建请求用于指示所述第一版本服务器向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向所述管理服务器返回所述待构建的应用程序版本的构建成功消息;
当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器,包括:
基于所述待构建的应用程序版本的版本号和版本类型的哈希值,以及一致性哈希算法,在版本服务器集群中确定出第一版本服务器。
3.根据权利要求1所述的方法,其特征在于,所述接收终端发送的应用程序版本构建请求之后,还包括:
向版本数据库服务器发送应用程序版本存储请求,其中,所述应用程序版本存储请求中携带有所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号,所述应用程序版本存储请求用于指示所述版本数据库将所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号对应存储;
所述方法还包括:
接收所述终端发送的第一代码分支构建请求,其中,所述第一代码分支构建请求中携带有已构建的目标应用程序版本的版本号和版本类型;
向所述版本数据库服务器发送对所述目标应用程序版本对应的最新代码的版本号查询请求,接收所述版本数据库服务器发送的所述最新代码的版本号;
基于所述目标应用程序版本的版本号,确定待构建的代码分支的分支名;
基于所述目标应用程序版本的版本号和版本类型的特征信息,在所述版本服务器集群中确定出第二版本服务器;
向所述第二版本服务器发送第二代码分支构建请求,其中,所述第二代码分支构建请求中携带有所述最新代码的版本号和所述分支名,所述第二代码分支构建请求用于指示所述第二版本服务器向所述代码服务器转发所述第二代码分支构建请求,以使所述代码服务器基于所述最新代码构建代码分支,并将构建的代码分支与所述第二代码分支构建请求中携带的所述分支名对应存储。
4.根据权利要求1所述的方法,其特征在于,所述接收所述第一版本服务器返回的所述构建成功消息之后,还包括:
接收所述第一版本服务器发送的所述待构建的应用程序版本对应的部署变更信息;
向版本数据库服务器发送部署变更信息存储请求,其中,所述部署变更信息存储请求中携带有所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息,所述部署变更信息存储请求用于指示所述版本数据库服务器对所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息对应存储;
所述方法还包括:
接收所述终端发送的应用程序版本汇总请求,其中,所述应用程序版本汇总请求中携带有待汇总的应用程序版本的版本号;
向所述版本数据库服务器转发所述应用程序版本汇总请求,接收所述版本数据库返回的所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息;
向质量管理QA终端发送所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息。
5.一种应用程序版本构建的方法,其特征在于,所述方法应用于版本服务器,其特征在于,所述方法包括:
接收管理服务器发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本对应的第一代码的版本号;
向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息,所述构建成功消息用于指示所述管理服务器向终端转发所述构建成功消息。
6.根据权利要求5所述的方法,其特征在于,所述第一代码中包括格式化语言编写的应用程序数据库代码,所述确定所述可运行文件可成功运行之后,还包括:
获取所述第一代码的版本号的前一版本号对应的第二代码,将所述第二代码中的应用程序数据库代码与所述第一代码中的应用程序数据库代码进行比较,确定所述第二代码中的应用程序数据库代码相对于所述第一代码中的应用程序数据库代码发生变更的数据库字段,基于所述发生变更的数据库字段,生成所述待构建的应用程序版本对应的部署变更信息;
向所述管理服务器发送所述待构建的应用程序版本对应的部署变更信息。
7.一种应用程序版本构建的系统,其特征在于,所述系统包括终端、管理服务器、第一版本服务器和代码服务器,其中:
所述终端用于,向所述管理服务器发送应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
所述管理服务器用于,接收终端发送的应用程序版本构建请求,基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器,向所述第一版本服务器转发所述应用程序版本构建请求;
所述第一版本服务器用于,接收所述管理服务器发送的应用程序版本构建请求,向所述代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
所述代码服务器用于,向所述第一版本服务器发送所述第一代码;
所述第一版本服务器用于,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息;
所述管理服务器用于,当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括版本数据库服务器和第二版本服务器,其中:
所述管理服务器还用于,向版本数据库服务器发送应用程序版本存储请求,其中,所述应用程序版本存储请求中携带有所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
所述版本数据库服务器用于,接收所述程序版本存储请求,将所述待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号对应存储;
所述管理服务器还用于,接收所述终端发送的第一代码分支构建请求,其中,所述第一代码分支构建请求中携带有已构建的目标应用程序版本的版本号和版本类型,向所述版本数据库服务器发送对所述目标应用程序版本对应的最新代码的版本号查询请求;
所述版本数据库服务器用于,接收所述目标应用程序版本对应的最新代码的版本号查询请求,向所述版本数据库服务器发送所述最新代码的版本号;
所述管理服务器还用于,接收所述版本数据库服务器发送的所述最新代码的版本号,基于所述目标应用程序版本的版本号,确定待构建的代码分支的分支名,基于所述目标应用程序版本的版本号和版本类型的特征信息,在所述版本服务器集群中确定出第二版本服务器,向所述第二版本服务器发送第二代码分支构建请求,其中,所述第二代码分支构建请求中携带有所述最新代码的版本号和所述分支名;
所述代码服务器用于,接收所述第二代码分支构建请求,基于所述最新代码构建代码分支,并将构建的代码分支与所述第二代码分支构建请求中携带的所述分支名对应存储。
9.根据权利要求7所述的系统,其特征在于,所述管理服务器还用于,向版本数据库服务器发送部署变更信息存储请求,其中,所述部署变更信息存储请求中,携带有所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息;
所述版本数据库服务器用于,接收所述部署变更信息存储请求,将所述待构建的应用程序版本的版本号和所述待构建的应用程序版本对应的部署变更信息对应存储;
所述管理服务器还用于,接收所述终端发送的应用程序版本汇总请求,其中,所述应用程序版本汇总请求中携带有待汇总的应用程序版本的版本号,向所述版本数据库服务器转发所述应用程序版本汇总请求;
所述版本数据库服务器用于,接收所述应用程序版本汇总请求,向所述管理服务器发送所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息;
所述管理服务器用于,接收所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息,并将所述待汇总的应用程序版本的关联应用程序版本的版本号和对应的部署变更信息,以及所述待汇总的应用程序版本的版本号和对应的部署变更信息发送给QA终端。
10.一种应用程序版本构建的装置,其特征在于,所述装置应用于管理服务器,所述装置包括:
接收模块,用于接收终端发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本的版本号、版本类型以及对应的第一代码的版本号;
确定模块,用于基于所述待构建的应用程序版本的版本号和版本类型的特征信息,在版本服务器集群中确定出第一版本服务器;
构建模块,用于向所述第一版本服务器转发所述应用程序版本构建请求,所述应用程序版本构建请求用于指示所述第一版本服务器向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号,接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向所述管理服务器返回所述待构建的应用程序版本的构建成功消息;
转发模块,用于当接收所述第一版本服务器返回的所述构建成功消息时,向所述终端转发所述构建成功消息。
11.一种应用程序版本构建的装置,其特征在于,所述装置应用于版本服务器,其特征在于,所述装置包括:
接收模块,用于接收管理服务器发送的应用程序版本构建请求,其中,所述应用程序版本构建请求中携带有待构建的应用程序版本对应的第一代码的版本号;
发送模块,用于向代码服务器发送代码获取请求,其中,所述代码获取请求中携带有所述第一代码的版本号;
构建模块,用于接收所述代码服务器发送的所述第一代码,对所述第一代码进行编译,得到目标文件,确定所述目标文件可成功运行,向管理服务器返回所述待构建的应用程序版本的构建成功消息,所述构建成功消息用于指示所述管理服务器向终端转发所述构建成功消息。
CN201910538559.2A 2019-06-20 2019-06-20 应用程序版本构建的方法、系统及装置 Active CN110231956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910538559.2A CN110231956B (zh) 2019-06-20 2019-06-20 应用程序版本构建的方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910538559.2A CN110231956B (zh) 2019-06-20 2019-06-20 应用程序版本构建的方法、系统及装置

Publications (2)

Publication Number Publication Date
CN110231956A true CN110231956A (zh) 2019-09-13
CN110231956B CN110231956B (zh) 2022-06-14

Family

ID=67857029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910538559.2A Active CN110231956B (zh) 2019-06-20 2019-06-20 应用程序版本构建的方法、系统及装置

Country Status (1)

Country Link
CN (1) CN110231956B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506339A (zh) * 2020-05-29 2020-08-07 北京奇艺世纪科技有限公司 软件开发工具包sdk的变更信息处理方法及装置
CN111930411A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质
CN112613894A (zh) * 2020-12-31 2021-04-06 中国农业银行股份有限公司 一种关联源代码和制品的方法及装置
CN112650526A (zh) * 2020-12-30 2021-04-13 中国工商银行股份有限公司 版本一致性的检测方法、装置、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019972A1 (en) * 2000-04-24 2002-02-14 Grier Michael J. Isolating assembly versions for binding to application programs
CN102566986A (zh) * 2010-12-10 2012-07-11 上海晨兴希姆通电子科技有限公司 Td无线固话软件版本管理系统及其应用方法
CN105302554A (zh) * 2015-10-23 2016-02-03 深圳市创维电器科技有限公司 一种Android系统自动化程序构建方法及系统
CN108287694A (zh) * 2017-08-08 2018-07-17 深圳壹账通智能科技有限公司 应用程序构建方法、系统、计算机设备和存储介质
CN109375923A (zh) * 2018-10-26 2019-02-22 网易(杭州)网络有限公司 变更数据处理方法、装置、存储介质、处理器及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019972A1 (en) * 2000-04-24 2002-02-14 Grier Michael J. Isolating assembly versions for binding to application programs
CN102566986A (zh) * 2010-12-10 2012-07-11 上海晨兴希姆通电子科技有限公司 Td无线固话软件版本管理系统及其应用方法
CN105302554A (zh) * 2015-10-23 2016-02-03 深圳市创维电器科技有限公司 一种Android系统自动化程序构建方法及系统
CN108287694A (zh) * 2017-08-08 2018-07-17 深圳壹账通智能科技有限公司 应用程序构建方法、系统、计算机设备和存储介质
CN109375923A (zh) * 2018-10-26 2019-02-22 网易(杭州)网络有限公司 变更数据处理方法、装置、存储介质、处理器及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
上海市计算机应用能力考核办公室: "《计算机应用教程—Visual FoxPro 6.0(初级)》", 30 April 2002 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506339A (zh) * 2020-05-29 2020-08-07 北京奇艺世纪科技有限公司 软件开发工具包sdk的变更信息处理方法及装置
CN111930411A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质
CN111930411B (zh) * 2020-09-30 2020-12-29 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质
CN112650526A (zh) * 2020-12-30 2021-04-13 中国工商银行股份有限公司 版本一致性的检测方法、装置、电子设备和介质
CN112650526B (zh) * 2020-12-30 2024-02-06 中国工商银行股份有限公司 版本一致性的检测方法、装置、电子设备和介质
CN112613894A (zh) * 2020-12-31 2021-04-06 中国农业银行股份有限公司 一种关联源代码和制品的方法及装置
CN112613894B (zh) * 2020-12-31 2024-04-16 中国农业银行股份有限公司 一种关联源代码和制品的方法及装置

Also Published As

Publication number Publication date
CN110231956B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
CN110231956A (zh) 应用程序版本构建的方法、系统及装置
CN112118565B (zh) 多租户服务灰度发布方法、装置、计算机设备和存储介质
US11843661B2 (en) Web service system and method
CN111240763B (zh) 配置更新方法、装置、设备及存储介质
US8443347B2 (en) Translating declarative models
US7243352B2 (en) Distributed process runner
US8181151B2 (en) Modeling and managing heterogeneous applications
US11157396B2 (en) Stateless self-sufficient test agents
US9329858B2 (en) Managing access to resource versions in shared computing environments
JP6164440B2 (ja) アプリケーションアップグレード方法および装置
JP2005505055A (ja) モバイルウェブクライアントに対する方法、装置及びシステム
JP2002132739A (ja) スタブ検索ローディングシステム及び方法、サーバ装置、クライアント装置並びにコンピュータ可読記録媒体
KR20140047580A (ko) 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법
US20160036665A1 (en) Data verification based upgrades in time series system
CN113055492A (zh) 服务灰度链路的控制方法、装置、计算机设备和存储介质
US8027817B2 (en) Simulation management within a grid infrastructure
WO2009083826A1 (en) Methods and systems for generating availability management framework (amf) configurations
CN113630310B (zh) 一种分布式高可用网关系统
CN113032283B (zh) 一种密文运算调试方法、计算引擎和密文运算系统
CN114911518A (zh) 云函数应用发布管理方法、系统、设备及存储介质
CN102970185B (zh) 网络应用的运行状态监控方法、客户端设备及通信系统
CN108881338A (zh) 网络功能虚拟化镜像文件升级的方法及装置
JP6540287B2 (ja) 情報処理システム、情報処理方法、及び、プログラム
CN116599965B (zh) 通信方法、通信装置、电子设备和可读存储介质
CN112187816B (zh) Rpc请求处理方法、设备和存储介质

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