应用部署方法和服务器的制造方法_3

文档序号:9261226阅读:来源:国知局
应的历史应用,所述历史应用是应用标识与所述待部署应用的应用标识相同且版本号低于所述待部署应用的版本号的应用,若存在与所述待部署应用对应的历史应用,则执行步骤203。
[0130]在步骤203中,获取与所述历史应用对应的历史描述文件,所述历史描述文件是所述历史应用的描述文件。
[0131]在步骤204中,根据所述历史描述文件与所述待部署应用的描述文件,获取与所述待部署应用对应的测试用例。
[0132]本实施例中,在管理服务器接收到的应用部署指令中包括除了包括待部署应用夕卜,还可以包括该应用的应用标识、版本号和描述文件。
[0133]其中,该应用标识和版本号用于唯一表示该应用,因为应用会有升级、更新,同一个应用会有不同的版本号。其中,该应用的描述文件是对该应用所提供的功能,该应用中包含的各个功能模块的描述。
[0134]另外,在管理服务器中保存有已经部署过的已部署应用的应用标识、版本号、描述文件、测试用例的信息,这些信息可以存储在一个数据库中。
[0135]因此,当管理服务器接收到上述应用部署指令后,根据当前待部署应用的应用标识和版本号从上述数据库中查询是否存在与该当前待部署应用的应用标识相同,且版本号低于当前待部署应用的版本号的历史应用即已部署应用。
[0136]其中,值得说明的是,如果上述数据库中存储有一个应用的多个版本,则上述查询的过程中,尤其是查询获得比当前待部署应用的版本号低一个版本号的对应历史应用。
[0137]如果管理服务器查询确定不存在与待部署应用对应的历史应用,则可以与测试用例生成平台交互以获得与待部署应用对应的测试用例;如果管理服务器查询确定存在与待部署应用对应的历史应用,则其从上述数据库中获取该历史应用的描述文件即历史描述文件。
[0138]进而,管理服务器通过比较该历史描述文件和待部署应用的描述文件,以确定两个描述文件是否一致,并根据比较结果采用不同的方式获取与待部署应用对应的测试用例。
[0139]具体来说,如果两个描述文件中所描述的应用功能、包含的功能模块、每个功能模块的作用或实现方式都一致,即如果确定待部署应用中不存在模块功能与该历史应用的各功能模块不同的差异功能模块,则说明可以采用该历史应用对应的测试用例作为与待部署应用对应的测试用例。否则,若待部署应用与该历史应用中存在差异功能模块,则通过获取增量测试用例的方式获取该待部署应用所对应的测试用例。
[0140]具体地,管理服务器首先通过上述数据库获得该历史应用的测试用例,再获取与差异功能模块对应的差异测试用例,进而根据差异测试用例更新历史应用对应的测试用例,将更新后的历史应用对应的测试用例作为与待部署应用对应的测试用例。
[0141]其中,获取与差异功能模块对应的差异测试用例,比如可以通过与测试用例生成平台交互来获得。通过向测试用例生成平台发送上述差异功能模块,使得测试用例设计人员设计完成与该差异功能模块测试对应的差异测试用例,并通过测试用例生成平台反馈给管理服务器。
[0142]其中,根据差异测试用例更新历史应用对应的测试用例,具体包括:如果差异功能模块是相对于历史应用而附加的功能模块,则将该差异测试用例添加到历史应用对应的测试用例中,完成更新;如果差异功能模块是相对于历史应用中的某已有功能模块的改变,则从历史应用对应的测试用例中添加该差异测试用例,同时可以将历史应用对应的测试用例中用于测试与该差异功能模块对应的功能模块的测试用例删除,完成更新。
[0143]本实施例中,管理服务器中存储有已部署的各应用的相关信息,从而使得在后续部署升级的应用时,能够借助对应的已部署应用的测试用例,通过获取差异测试用例的方式降低针对每个应用需要进行独立的全部测试用例的设计所带来的工作量,能够进一步提高应用部署的效率。
[0144]图4是根据一示例性实施例示出的一种应用部署方法实施例三的流程图,在上述实施例的基础上,如图4所示,本实施例中,在上述步骤103对所述待部署应用进行编译之前,还包括如下步骤:
[0145]在步骤301中,接收编译指令,所述编译指令中包括编译操作者的认证信息;
[0146]在步骤302中,根据所述认证信息对所述编译操作者进行身份认证,确定认证是否通过,若认证通过,则执行步骤103,若认证不通过,则结束。
[0147]由于上述运维人员作为编译操作者以及向各业务服务器发送编译通过后的应用和测试用例的操作者,由于该应用对于应用提供商来说具有重要价值,因此,为了避免非授权人员的恶意操作,可以对运维人员进行身份认证。
[0148]具体来说,管理服务器中可以预先存储已授权人员的认证信息,该认证信息比如是登录账号和密码。因此,当运维人员即当前操作者登录管理服务器时,如果其输入的登录账号和密码为已授权的账号和密码中的一个,则认为该操作者通过认证。
[0149]可以理解的是,该身份认证方式比如还可以是验证码、指纹等方式,不做具体限定。
[0150]以上,从管理服务器的角度介绍了在分布式系统的各业务服务器中部署应用的过程,下面结合几个实施例从各业务服务器的角度,介绍应用部署的具体过程。
[0151]图5是根据一示例性实施例示出的一种应用部署方法的实施例四的流程图,如图5所示,该应用部署方法包括如下步骤:
[0152]在步骤401中,接收管理服务器发送的编译后的待部署应用以及与所述待部署应用对应的测试用例;其中,所述待部署应用中包括源代码和配置文件,所述配置文件中包含所述待部署应用的部署目录。
[0153]在步骤402中,将所述编译后的待部署应用和所述测试用例存入到所述部署目录下。
[0154]在步骤403中,运行所述测试用例对所述编译后的待部署应用进行测试。
[0155]如前述各实施例中所述的,管理服务器在接收到应用部署指令后,获得与待部署应用对应的测试用例,在完成对待部署应用的编译等处理之后,将待部署应用和测试用例发送给各业务服务器,其中,待部署应用的配置文件中包含待部署应用的部署目录。
[0156]从而,各业务服务器在接收到管理服务器发送的上述编译后的待部署应用和测试用例之后,将该编译后的待部署应用和测试用例存入到该部署目录下,从而,每个业务服务器都将待部署应用和测试用例部署在相同的部署目录下,避免人工部署时容易出错的问题,比如存错目录、对待部署应用或测试用例进行了误操作等。
[0157]进而,每个业务服务器从该部署目录中启动运行测试用例,已完成对该待部署应用能否正常运行的测试。
[0158]其中,本实施例中,测试用例主要包括单元测试用例和基础环境测试用例。这两个测试用例的执行顺序是,优先执行基础环境测试用例,对所述待部署应用的基础运行环境进行测试,如果基础环境测试通过,则执行单元测试用例,对所述待部署应用的各功能模块进行测试;如果基础环境测试用例测试未通过,则向管理服务器发出告警提示,以提示运维人员出现了什么样的测试问题。相应的,如果在执行单元测试用例时,单元测试通过,则说明该待部署应用能够在业务服务器中正常运行,部署结束,如果单元测试没有通过,则向管理服务器发出告警提示,以提示运维人员出现了什么样的单元测试问题。
[0159]本实施例中,各业务服务器在接收到管理服务器发送的携带有部署目标的待部署应用及其对应的测试用例后,自动将该待部署应用存入即部署到该目录下,并自动运行测试用例对该应用进行测试。该自动部署和测试过程中,无需人工干预,避免人工部署、测试容易出错的问题,提高应用部署和测试效率的同时,保证了应用部署和测试的可靠性。
[0160]图6是根据一示例性实施例示出的一种应用部署方法的实施例五的流程图,如图6所示,该方法具体包括如下的步骤:
[0161]在步骤501中,接收管理服务器发送的编译后的待部署应用以及与所述待部署应用对应的测试用例;其中,所述待部署应用中包括源代码和配置文件,所述配置文件中包含所述待部署应用的部署目录,所述部署目录包括临时目录和正式目录。
[0162]在步骤502中,将所述编译后的待部署应用和所述测试用例存入到所述临时目录下。
[0163]在步骤503中,在所述临时目录下运行所述测试用例对所述编译后的待部署应用进行测试。
[0164]在步骤504中,若在所述临时目录下运行所述测试用例对所述编译后的待部署应用进行测试通过,则将所述编译后的待部署应用存入到所述正式目录下,并删除存入到所述临时目录中的所述编译后的待部署应用和所述测试用例。
[0165]本实施例中,之所以设置临时目录和正式目录是基于以下的考虑,其中,正式目录是与临时目录不同的目录。
[0166]由于在运行测试用例对待部署应用进行测试的过程中,会产生很多临时性文件、系统碎片等垃圾文件,这些垃圾文件不但会占用业务服务器一定的存储空间,也会导致后续应用正式运行使用时运行环境不干净。因此,为了保证后续的应用正式使用时的高效可靠,本实施例中采用了设置两个目录的方式。
[0167]具体来说,首先,各业务服务器将待部署应用和测试用例都存储在临时目录中,其中,该临时目录的选择依据是,选择业务服务器的操作系统在重启后便会消失的目录,即非永久性目录。进而,业务服务器在该临时目录下运行测试用例完成对待部署应用的测试,如果测试通过,即如果基础环境测试通过、单元测试也通过,则业务服务器将该待部署应用转存到正式目录中,进而可以重启业务服务器,激活应用可以正式使用。该正式目录与临时目录相对,是永久性目录。并且,业务服务器删除存入到临时目录中的待部署应用和测试用例,从而将产生的上述大部分垃圾文件均删除掉,保证应用正式运行时运行环境的干净。
[0168]以上分别从管理服务器和业务服务器的角度对本公开提供的应用部署方法进行了说明,下面结合图7,简单介绍本公开在分布式系统中部署应用时,管理服务器与业务服务器的主要交互过程,其中,本实施例中以管理服务器包括代码服务器和编译服务器为例说明。
[0169]图7是根据一示例性实施例示出的一种应用部署方法的信令交互图,如图7所示,该交互过程包括:
[0170]在步骤601中,代码服务器接收应用部署指令,该应用部署指令中包括待部署应用,该待部署应用中包括源代码和配置文件,配置文件中包括待部署应用的部署目录。
[0171]在步骤602中,代码服务器获取与该待部署应用对应的测试用例。
[0172]在步骤603中,编译服务器从代码服务器中获得所述待部署应用和所述测试用例。
[0173]在步骤604中,编译服务器接收操作者的编译指令,根据该编译指令编译所述待部署应用。
[0174]在步骤605中,编译服务器将编译后的待部署应用和所述测试用例分别发送给各业务服务器。
[0175]在步骤606中,各业务服务器将编译后的待部署应用和所述测试用例存储在部署目录中,并运行所述测试用例。
[0176]综
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1