应用部署方法及装置转让专利

申请号 : CN201910116621.9

文献号 : CN109918090B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾惠昆

申请人 : 网宿科技股份有限公司

摘要 :

本发明实施例涉及计算机技术领域,公开了一种应用部署方法及装置。应用部署方法,包括:将各数据中心的机器划分为多个批次;检测当前批次中的各数据中心的部署配置,部署配置至少包括部署策略;按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。本发明中,实现了应用的自动化部署,提供了一种通用的、可容错、稳定的应用部署方案,并且可以根据需求设定各数据中心的部署配置,更加灵活。

权利要求 :

1.一种应用部署方法,其特征在于,包括:

将各数据中心的机器划分为多个批次;

在待部署的目标版本的应用不需要停机部署的情况下,检测当前批次中的各所述数据中心的部署配置,所述部署配置至少包括部署策略;

按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用;

其中,所述部署配置包括流量控制策略;所述按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用,具体为:采用所述流量控制策略关闭所述数据中心的流量,按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用;

在完成所述目标版本的所述应用的部署后,采用所述流量控制策略开通所述数据中心的流量。

2.根据权利要求1所述的应用部署方法,其特征在于,在所述检测当前批次中的各所述数据中心的部署配置之前,还包括:判断待部署的目标版本的所述应用是否需要停机部署;

若待部署的目标版本的所述应用不需要停机部署,进入所述检测当前批次中的各所述数据中心的部署配置的步骤;

若待部署的目标版本的所述应用需要停机部署,将各所述数据中心的机器流量关闭,并按批次在各所述数据中心的机器上部署目标版本的所述应用。

3.根据权利要求1所述的应用部署方法,其特征在于,所述部署配置还包括部署失败次数阈值;

在所述按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用时,记录部署目标版本的所述应用失败的机器的数量;

当部署目标版本的所述应用失败的机器的数量达到所述部署失败次数阈值时,停止在各所述数据中心的机器上部署目标版本的所述应用。

4.根据权利要求1所述的应用部署方法,其特征在于,所述流量控制策略为以下任意之一:Nginx流量控制策略、Openresty流量控制策略、Rpc流量控制策略以及流量比例控制策略。

5.根据权利要求1所述的应用部署方法,其特征在于,在所述按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用之前,还包括:判断当前批次是否为预设次序的批次;

若当前批次是预设次序的批次,按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用,并将预设的至少一机器上的所述应用由目标版本回退到上一版本;

若所述至少一机器的所述应用由目标版本回退到上一版本成功,重新在所述至少一机器部署目标版本的所述应用;

若当前批次不是预设次序的批次,进入所述按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用的步骤。

6.根据权利要求5所述的应用部署方法,其特征在于,所述预设次序的批次为所述多个批次中的第一批次。

7.根据权利要求1所述的应用部署方法,其特征在于,在所述按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用之后,还包括:将所述目标版本的所述应用以及所述目标版本的所述应用对应的应用配置存储到预设的文件服务器。

8.根据权利要求1所述的应用部署方法,其特征在于,所述部署策略为停机部署或者灰度部署。

9.根据权利要求8所述的应用部署方法,其特征在于,所述灰度部署为以下任意之一:AB部署、金丝雀部署、蓝绿部署以及自定义灰度部署。

10.根据权利要求9所述的应用部署方法,其特征在于,所述部署策略为自定义灰度部署;

所述按照各所述数据中心的所述部署策略在各所述数据中心的机器上部署目标版本的所述应用,包括:根据所述自定义灰度部署,获取各所述数据中心中的计划部署的机器,并将所述计划部署的机器流量关闭;

在所述计划部署的机器上部署目标版本的所述应用,并将所述计划部署的机器流量开启。

11.一种应用部署装置,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至10中任一所述的应用部署方法。

说明书 :

应用部署方法及装置

技术领域

[0001] 本发明实施例涉及计算机技术领域,特别涉及一种应用部署方法及装置。

背景技术

[0002] 随着计算机技术的飞快发展,计算机软件应用从一开始的几个月发布一个新版本,到现在几周、几天、几小时都可能会有软件应用需要发布新版本,发布的频率越来越快。复杂的需求、大量的用户访问,使得软件应用架构更加复杂,体量更大。
[0003] 发明人发现现有技术中至少存在如下问题:面对复杂、繁多的软件应用发布步骤,在服务器上部署软件应用时,如果人工操作进行部署,可能出现操作失误,影响软件应用发布速度。

发明内容

[0004] 本发明实施方式的目的在于提供一种应用部署方法及装置,能够实现应用的自动化部署。
[0005] 为解决上述技术问题,本发明的实施方式提供了一种应用部署方法,包括:将各数据中心的机器划分为多个批次;检测当前批次中的各数据中心的部署配置,部署配置至少包括部署策略;按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。
[0006] 本发明的实施方式还提供了一种应用部署装置,其特征在于,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述的应用部署方法。
[0007] 本发明实施方式相对于现有技术而言,将各数据中心的机器划分为多个批次,先将各数据中心的机器划分成多个批次,检测当前批次中的各数据中心的部署配置,配属配置至少包括部署策略,然后按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,从而实现了应用的自动化部署,提供了一种通用的、可容错、稳定的应用部署方案,并且可以根据需求设定各数据中心的部署配置,更加灵活。
[0008] 另外,在检测当前批次中的各数据中心的部署配置之前,还包括:判断待部署的应用是否需要停机部署;若待部署的应用不需要停机部署,进入检测当前批次中的各数据中心的部署配置的步骤;若待部署的应用需要停机部署,将各数据中心的机器流量关闭,并按批次在各数据中心的机器上部署目标版本的应用。本实施方式中,若待部署目标版本的应用需要停机部署,则将各数据中心的机器流量关闭,并按批次在各数据中心的机器上部署目标版本的应用,即能够根据应用的部署需求判断是否需要停机部署。
[0009] 另外,部署配置还包括部署失败次数阈值;在按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用时,记录部署目标版本的应用失败的机器的数量;当部署目标版本的应用失败的机器的数量达到部署失败次数阈值时,停止在各数据中心的机器上部署目标版本的应用。本实施方式中,对部署目标版本的应用失败的机器的数量记录,从而能够忽略个别部署失败的机器,避免影响整个应用发布流程;同时,在部署失败的机器的数量达到部署失败次数阈值时,能够及时停止在各数据中心的机器上部署目标版本的应用,检查目标版本的应用是否存在问题,以便于迅速进行修复。
[0010] 另外,部署配置还包括流量控制策略;按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,具体为:采用流量控制策略,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。本实施方式中,部署配置还包括流量控制策略,从而能够采用该流量控制策略,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。
[0011] 另外,流量控制策略为以下任意之一:Nginx流量控制策略、Openresty流量控制策略、Rpc流量控制策略以及流量比例控制策略。本实施方式提供了流量控制策略的具体内容。
[0012] 另外,在按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用之前,还包括包括:判断当前批次是否为预设次序的批次;若当前批次是预设次序的批次,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,并将预设的至少一机器上的应用由目标版本回退到上一版本;若至少一机器的应用由目标版本回退到上一版本成功,重新在至少一机器部署目标版本的应用;若当前批次不是预设次序的批次,进入按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用的步骤。本实施方式中,在预设次序的批次中选定至少一机器进行版本回退验证,首先能够验证部署目标版本的应用是否成功;其次,还能够验证版本回退验证是否有效,以便于应用出现问题时,及时快速进行版本回退。
[0013] 另外,预设次序的批次为多个批次中的第一批次。本实施方式中,在第一批次中就进行版本回退验证,能够最大限度发挥版本回退验证功能的作用。
[0014] 另外,在按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用之后,还包括:将目标版本的应用以及目标版本的应用对应的应用配置存储到预设的文件服务器。本实施方式中,对应用的应用配置同样进行版本管理,以便于快速定位出现配置错误的应用版本。
[0015] 另外,部署策略为停机部署或者灰度部署。本实施方式中提供了部署策略的具体内容。
[0016] 另外,灰度部署为以下任意之一:AB部署、金丝雀部署、蓝绿部署以及自定义灰度部署。本实施方式中提供了灰度部署的具体内容。
[0017] 另外,部署策略为自定义灰度部署;按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,包括:根据自定义灰度部署,获取各数据中心中的计划部署的机器,并将计划部署的机器流量关闭;在计划部署的机器上部署目标版本的应用,并将计划部署的机器流量开启。本实施方式提供了部署策略为自定义灰度部署时,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用的具体实现方式。

附图说明

[0018] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0019] 图1是根据本发明第一实施方式中的应用部署方法的具体流程图;
[0020] 图2是根据本发明第二实施方式中的应用部署方法的具体流程图;
[0021] 图3是根据本发明第三实施方式中的应用部署方法的具体流程图;
[0022] 图4是根据本发明第四实施方式中的应用部署方法的具体流程图
[0023] 图5是根据本发明第五实施方式中的应用部署方法的具体流程图;
[0024] 图6是根据本发明第六实施方式中的应用部署方法的具体流程图。

具体实施方式

[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0026] 本发明的第一实施方式涉及一种应用部署方法,应用于应用部署装置,应用部署装置可以为服务器,能够在各数据中心的机器上部署目标版本的应用,机器可以是服务器,一个数据中心一般包括多台机器,应用部署为整个应用发布流程的步骤之一,在应用部署之前还包括:拉取主干代码、代码编译构建、验证测试、打包等步骤,在此未有详述。
[0027] 本实施方式的应用部署方法的具体流程如图1所示。
[0028] 步骤101,将各数据中心的机器划分为多个批次。
[0029] 具体而言,异地多活是应用高可用的通用方案,应用大多数需要部署在不同的数据中心中,在各数据中心的机器上部署目标版本的应用时,先将各数据中心的机器划分为多个批次,一个批次可以包括多个数据中心,一个批次中可以包含各数据中心部分或全部的机器,即一个数据中心的机器,可以划分到不同的批次中。需要说明的是,本实施方式中还可以在机器上面,划分出机房、机柜等层级,具体可以换照应用实际需要来决定。
[0030] 步骤102,检测当前批次中的各数据中心的部署配置。
[0031] 具体而言,各数据中心可以设定不同的部署配置,在对当前批次中的数据中心的机器上部署目标版本的应用时,获取各数据中心的部署配置,部署配置至少包括部署策略,部署策略为停机部署或者灰度部署;灰度部署为以下任意之一:AB部署、金丝雀部署、蓝绿部署以及自定义灰度部署。
[0032] 步骤103,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。
[0033] 下面根据部署策略的不同,详细介绍如何在数据中心的机器上部署目标版本的应用。
[0034] 1、停机部署,以当前批次中的一个数据中心为例,在对该数据中心的机器部署目标版本的应用时,将该数据中心中所有的机器流量关闭,即该数据中心中所有的机器不再提供服务,在该数据中心中所有的机器部署目标版本的应用完毕之后,再将该数据中心中所有的机器流量开启,即该数据中心所有的机器以目标版本的应用提供服务。
[0035] 2、AB部署,以当前批次中的一个数据中心为例,在对该数据中心的机器部署目标版本的应用时,将该数据中心中所有的机器分为A、B两组,在对A组的机器部署目标版本的应用时,先将A组的机器流量关闭,在A组的机器部署目标版本的应用完毕之后,再将A组的机器流量开启,继而将B组的机器流量关闭,在B组的机器部署目标版本的应用完毕之后,再将B组的机器流量开启,该数据中心的机器部署完毕。
[0036] 3、蓝绿部署,以当前批次中的一个数据中心为例,该数据中心原有的机器定义为蓝组,拿到一批新的机器,在新的机器上部署目标版本的应用,定义为绿组;将绿组的机器流量开启,即绿组的机器的机器以目标版本的应用提供服务,观察一段时间后,如果绿组的机器正常提供服务,则将蓝组的机器流量关闭,并回收蓝组的机器。
[0037] 4、金丝雀部署,以当前批次中的一个数据中心为例,与前述的AB部署类似,区别在与AB部署中只分为A、B两组,金丝雀部署分为了N个组,N为大于等于3的整数,各组机器部署目标版本的应用的方式与AB部署类似,在此不再赘述。
[0038] 5、自定义灰度部署,以当前批次中的一个数据中心为例,自定义灰度部署中定义了计划部署的机器,从而可以根据该自定义灰度部署,获取该数据中心中的计划部署的机器,然后将部署的机器流量关闭,在计划部署的机器上部署目标版本的应用完毕后,再将计划部署的机器流量开启,未在计划部署范围内的机器,则不部署目标版本的应用。
[0039] 本实施例中,目标版本的应用可以为最新版本的应用,也可以为之前任一版本的应用。
[0040] 本实施方式相对于现有技术而言,将各数据中心的机器划分为多个批次,先将各数据中心的机器划分成多个批次,检测当前批次中的各数据中心的部署配置,配属配置至少包括部署策略,然后按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,从而实现了应用的自动化部署,提供了一种通用的、可容错、稳定的应用部署方案,并且可以根据需求设定各数据中心的部署配置,更加灵活。
[0041] 本发明的第二实施方式涉及一种应用部署方法。第二实施方式是在第一实施方式基础上的改进,主要改进之处在于:本实施方式中,增加了对应用是否需要停机部署的判断。
[0042] 本实施方式的应用部署方法的具体流程如图2所示。
[0043] 其中,步骤201、步骤204、步骤205与至步骤101至步骤103大致相同,在此不再赘述,主要不同之处在于,增加了步骤202与步骤203,具体如下:
[0044] 步骤202,判断待部署目标版本的应用是否需要停机部署。若是,则进入步骤203;若否,则进入步骤204。
[0045] 具体而言,对于某些应用来说,其需要进行停机部署,则这些应用会被预先设定为需要停机部署,进入步骤203;反之,则进入步骤204检测当前批次中的各数据中心的部署配置。
[0046] 步骤203,将各数据中心的机器流量关闭,并按批次在各数据中心的机器上部署目标版本的应用。
[0047] 具体而言,将各数据中心的机器流量关闭,即将各批次中所有的机器流量关闭,然后按照批次的顺序在各数据中心的机器上部署目标版本的应用,在当前批次的各数据中心的机器部署目标版本的应用完毕后,将当前批次的各数据中心的机器流量开启,继而在下一批次的各数据中心的机器上部署目标版本的应用。
[0048] 本实施方式相对于第一实施方式而言,若待部署目标版本的应用需要停机部署,则将各数据中心的机器流量关闭,并按批次在各数据中心的机器上部署目标版本的应用,即能够根据应用的部署需求判断是否需要停机部署。。
[0049] 本发明第三实施方式涉及一种应用部署方法,第三实施方式是在第一实施方式基础上的改进,主要改进之处在于:本实施方式中,增加了对部署失败次数的判断。
[0050] 本实施方式的应用部署方法的具体流程如图3所示。
[0051] 其中,步骤301、步骤302与步骤101、步骤102大致相同,在此不再赘述,主要不同之处在于,增加了步骤304与步骤305,具体如下:
[0052] 步骤303,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,并记录部署目标版本的应用失败的机器的数量。
[0053] 具体而言,在按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用时,会收到外界影响导致在机器上部署目标版本的应用失败,记录部署目标版本的应用失败的机器的数量;外界影响例如网络原因、硬件原因等。
[0054] 步骤304,判断部署目标版本的应用失败的机器的数量是否达到部署失败次数阈值;若是,则进入步骤305;若否,则直接结束。
[0055] 具体而言,部署配置还包括部署失败次数阈值,判断记录的部署目标版本的应用失败的机器的数量是否达到部署失败次数阈值,若是,则进入步骤305;若否,说明部署目标版本的应用失败的机器的数量小于部署失败次数阈值,不影响整个应用发布流程,直接结束。
[0056] 其中,部署目标版本的应用失败的机器的数量可以以一个数据中心、一个批次或者累计的部署目标版本的应用失败的机器的数量。
[0057] 步骤305,停止在各数据中心的机器上部署目标版本的应用。
[0058] 具体而言,当部署目标版本的应用失败的机器的数量达到部署失败次数阈值时,说明目标版本的应用存在问题,停止在各数据中心的机器上部署目标版本的应用。
[0059] 本实施方式相对于第一实施方式而言,对部署目标版本的应用失败的机器的数量记录,从而能够忽略个别部署失败的机器,避免影响整个应用发布流程;同时,在部署失败的机器的数量达到部署失败次数阈值时,能够及时停止在各数据中心的机器上部署目标版本的应用,检查目标版本的应用是否存在问题,以便于迅速进行修复。需要说明的是,本实施方式还可以用于在第二实施方式基础上的改进,可以达到同样的技术效果。
[0060] 本发明的第四实施方式涉及一种应用部署方法。第四实施方式是在第一实施方式基础上的改进,主要改进之处在于:能够采用流量控制策略来按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。
[0061] 本实施方式的应用部署方法的具体流程如图4所示。
[0062] 其中,步骤401、步骤402与步骤101、步骤102大致相同,在此不再赘述,主要不同之处在于:
[0063] 步骤403,采用流量控制策略,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。
[0064] 具体而言,部署配置还包括流量控制策略,在照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用时,以一个数据中心为例,在该数据中心的机器上部署目标版本的应用时,需要先将该数据中心的机器流量关闭,此时可以采用流量控制策略来实现机器流量关闭,在该数据中心的机器部署目标版本的应用完毕之后,再采用该流量控制策略来实现机器流量开启。
[0065] 本实施例中,流量控制策略为以下任意之一:Nginx流量控制策略、Openresty流量控制策略、Rpc流量控制策略以及流量比例控制策略,其中,Nginx流量控制策略、Openresty流量控制策略为通过对机器的内存控制来实现机器流量关闭或开启;Rpc流量控制策略同样是是通过对机器的内存修改来实现机器流量关闭或开启,流量比例控制策略则是通过预设的负载定向策略来实现机器流量关闭或开启。
[0066] 另外,部署配置中还可以包括并行部署个数,从而能够设定在数据中心的机器部署目标版本的应用的并行数量。
[0067] 本实施方式相对第一实施方式而言,部署配置还包括流量控制策略,从而能够采用该流量控制策略,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。需要说明的是,本实施方式还可以用于在第二或第三实施方式基础上的改进,可以达到同样的技术效果。
[0068] 本发明的第五实施方式涉及一种应用部署方法。第五实施方式是在第一实施方式基础上的改进,主要改进之处在于:增加了版本回退验证。
[0069] 本实施方式的应用部署方法的具体流程如图5所示。
[0070] 其中,步骤501、步骤502、步骤506与步骤101至步骤103大致相同,在此不再赘述,主要不同之处在于,增加了步骤503至步骤505,具体如下:
[0071] 步骤503,判断当前批次是否为预设次序的批次。若是,则进入步骤504;若否,则进入步骤506。
[0072] 具体而言,判断当前批次是否为预设次序的批次,若是,则进入步骤504;若否,则进入步骤506按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用。
[0073] 步骤504,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,并将预设的至少一机器上的应用由目标版本回退到上一版本。
[0074] 具体而言,按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,具体部署方式与第一实施方式中的步骤103类似,在此不再赘述,并将预设的至少一机器上的应用由目标版本回退到上一版本。其中,预设的至少一机器可以为数据中心中的任意一台或多台机器。
[0075] 步骤505,若至少一机器的应用由目标版本回退到上一版本成功,重新在至少一机器部署目标版本的应用。
[0076] 具体而言,判断至少一机器的应用由目标版本回退到上一版本是否成功,若成功,则说明版本回退有效,重新在至少一机器部署目标版本的应用。
[0077] 本实施例中,预设次序的批次为多个批次中的第一批次,从而在第一批次中就进行版本回退验证,能够最大限度发挥版本回退验证功能的作用。
[0078] 本实施方式相对第一实施方式而言,在预设次序的批次中选定至少一机器进行版本回退验证,首先能够验证部署目标版本的应用是否成功;其次,还能够验证版本回退验证是否有效,以便于应用出现问题时,及时快速进行版本回退。需要说明的是,本实施方式还可以用于在第二至第四实施方式基础上的改进,可以达到同样的技术效果。
[0079] 本发明的第六实施方式涉及一种应用部署方法。第六实施方式是在第一实施方式基础上的改进,主要改进之处在于:对应用的配置进行版本管理。
[0080] 本实施方式的应用部署方法的具体流程如图6所示。
[0081] 其中,步骤601至步骤603与步骤101至步骤103大致相同,在此不再赘述,主要不同之处在于,增加了步骤604,具体如下:
[0082] 步骤604,将目标版本的应用以及目标版本的应用对应的应用配置存储到预设的文件服务器。
[0083] 具体而言,可以使用版本管理工具来管理应用的应用配置,版本管理工具可以为svn、git等工具。在按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用之后,将目标版本的应用以及目标版本的应用对应的应用配置存储到预设的文件服务器,即将各个版本的应用的安装包以及对应的应用配置存储到预设的文件服务器中,以便于在目标版本的应用出现问题时,快速的进行版本回退;同时,能够更快的定位应用的配置问题。其中,可以使用不同的分支来区分应用在不同环境的应用配置,例如,内部测试环境、预发布环境、外部测试环境、正式生产环境等,从而能够隔离不同环境的应用配置,防止将不同环境的应用配置互相混淆;同时,可以记录每次对应用配置的修改,从而可以方便地追溯的任何一应用配置的更改。
[0084] 本实施方式相对第一实施方式而言,对应用的应用配置同样进行版本管理,以便于快速定位出现配置错误的应用版本。需要说明的是,本实施方式还可以用于在第二至第五实施方式基础上的改进,可以达到同样的技术效果。
[0085] 本发明第七实施方式涉及一种应用部署装置,应用部署装置可以为服务器,能够在各数据中心的机器上部署目标版本的应用,机器可以是服务器,一个数据中心一般包括多台机器,应用部署为整个应用发布流程的步骤之一,在应用部署之前还包括:拉取主干代码、代码编译构建、验证测试、打包等步骤,在此未有详述。应用部署装置包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一至第六实施例中任一的应用部署方法。
[0086] 其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0087] 处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0088] 本发明第八实施方式涉及一种应用部署系统,包括第七实施方式中的应用部署装置与至少一数据中心;各数据中心包括至少一机器。
[0089] 由于第一实施例至第六实施例与本实施例相互对应,因此本实施例可与第一实施例至第六实施例互相配合实施。第一实施例至第六实施例中提到的相关技术细节在本实施例中依然有效,在第一实施例至第六实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
[0090] 本实施方式相对于现有技术而言,将各数据中心的机器划分为多个批次,先将各数据中心的机器划分成多个批次,检测当前批次中的各数据中心的部署配置,配属配置至少包括部署策略,然后按照各数据中心的部署策略在各数据中心的机器上部署目标版本的应用,从而实现了应用的自动化部署,提供了一种通用的、可容错、稳定的应用部署方案,并且可以根据需求设定各数据中心的部署配置,更加灵活。
[0091] 本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。