1.本发明涉及应用系统部署领域,特别是涉及测试环境应用层的部署方法及装置。
背景技术:2.应用软件的迭代版本在进入到生产环境开展投产运营前,该应用软件需在测试环境应用层运行以模拟应用软件在生产环境应用层中运行所实现的效果,并针对应用软件在相同场景下所实现的效果来对应用软件进行检验测试。通过给应用软件相应的测试环境应用层的部署结构中部署应用软件的相关配置信息以生成测试环境应用层,这些相关配置信息与测试环境应用层部署结构中的各个部署节点类型以及各部署节点类型对应的各部署节点个数相关。伴随着计算机技术的发展,应用软件迭代版本的周期越来越短,对测试环境应用层部署的需求也越来越多。
3.在现有对测试环境应用层部署的过程中,配置信息作为该测试环境应用层部署的依据和输入,通常依赖人员的技术能力进行手动配置,这种配置方式效率低且错误率高,当所配置的配置信息不正确时,易造成应用系统之间存在连通性异常问题,所部署的测试环境应用层与生产环境应用层不同,导致应用软件在测试环境应用层中实现的效果也与在生产环境应用层中实现的效果不一致,人员针对这些问题往往通过修改配置信息来解决,而手动修改配置信息同样依赖于人员的技术能力,存在复杂性且耗时长,上述问题导致测试环境应用层的部署效率低,无法满足当前应用软件的需求。
技术实现要素:4.有鉴于此,本发明提供一种测试环境应用层的部署方法及装置,通过该方法,以解决现有测试环境应用层的部署过程中效率低的问题。
5.一种测试环境应用层的部署方法,包括:
6.在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;
7.确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;
8.基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;
9.若满足,则获取每个所述节点资源对应的资源信息;
10.调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;
11.调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。
12.上述的方法,可选的,所述在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构,包括:
13.确定所述当前应用软件的应用属性以及预先设置的通用部署结构;
14.在所述当前应用软件对应的生产环境配置管理库中获取与所述应用属性对应的各个配置信息;
15.依据各个所述配置信息对所述通用部署结构进行裁剪,以生成与所述当前应用软件对应的测试环境应用层的部署结构。
16.上述的方法,可选的,所述基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求,包括:
17.基于在所述生产环境配置管理库中获取的各个配置信息,确定每个所述配置信息在所述部署结构中对应的节点配置信息;
18.在各个所述节点配置信息中查找与每个所述节点资源对应的目标节点配置信息;
19.若每个所述节点资源均查找到与其对应的所述目标节点配置信息,则确定各个所述节点资源满足所述部署结构的部署需求。
20.上述的方法,可选的,所述各个所述信息部署脚本的预先定义的过程,包括:
21.依据每个所述节点资源对应的资源信息,确定每个所述资源信息对应的通用部署脚本;
22.将每个所述资源信息对应的通用部署脚本,输入至预先设置的脚本编排模板中,获得该资源信息对应的各个信息部署脚本。
23.上述的方法,可选的,所述完成所述当前应用软件的测试环境应用层的部署后,还包括:
24.调用预先设置的测试实施脚本对所述当前应用软件的测试环境应用层进行测试,并获得测试结果。
25.一种测试环境应用层的部署装置,包括:
26.生成单元,用于在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;
27.确定单元,用于确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;
28.检查单元,用于基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;
29.获取单元,用于若满足,则获取每个所述节点资源对应的资源信息;
30.第一部署单元,用于调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;
31.第二部署单元,用于调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。
32.上述的装置,可选的,所述生成单元,包括:
33.第一确定子单元,用于确定所述当前应用软件的应用属性以及预先设置的通用部署结构;
34.获取子单元,用于在所述当前应用软件对应的生产环境配置管理库中获取与所述应用属性对应的各个配置信息;
35.生成子单元,用于依据各个所述配置信息对所述通用部署结构进行裁剪,以生成与所述当前应用软件对应的测试环境应用层的部署结构。
36.上述的装置,可选的,所述检查单元,包括:
37.第二确定子单元,用于基于在所述生产环境配置管理库中获取的各个配置信息,确定每个所述配置信息在所述部署结构中对应的节点配置信息;
38.查找子单元,用于在各个所述节点配置信息中查找与每个所述节点资源对应的目标节点配置信息;
39.第三确定子单元,用于若每个所述节点资源均查找到与其对应的所述目标节点配置信息,则确定各个所述节点资源满足所述部署结构的部署需求。
40.上述的装置,可选的,所述第一部署单元,还包括:
41.第四确定子单元,用于依据每个所述节点资源对应的资源信息,确定每个所述资源信息对应的通用部署脚本;
42.获得子单元,用于将每个所述资源信息对应的通用部署脚本,输入至预先设置的脚本编排模板中,获得该资源信息对应的各个信息部署脚本。
43.上述的装置,可选的,还包括:
44.测试子单元,用于调用预先设置的测试实施脚本对所述当前应用软件的测试环境应用层进行测试,并获得测试结果。
45.基于上述本发明实施例提供的一种测试环境应用层的部署方法,包括:在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;若满足,则获取每个所述节点资源对应的资源信息;调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。应用本发明实施例提供的方法,通过预设好的应用配置模型自动配置好测试环境应用层的部署所需资源,并将这些部署所需资源部署到测试环境应用层中,提高了部署过程的自动程度,进而提高了部署效率。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
47.图1为本发明实施例提供的一种测试环境应用层的部署方法的方法流程图;
48.图2为本发明实施例提供的一种测试环境应用层的部署结构的部署结构关系图;
49.图3为本发明实施例提供的一种测试环境应用层的部署结构的各类型部署节点以及各类型部署节点的子模型示意图;
50.图4为本发明实施例提供的一种测试环境应用层的部署结构的各类型部署节点的子模型示意图;
51.图5为本发明实施例提供的一种测试环境应用层的部署方法的部署实现流程图;
52.图6为本发明实施例提供的一种测试环境应用层的部署装置的结构示意图;
53.图7为本发明实施例提供的一种测试环境应用层的部署装置的又一结构示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.在本技术中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
56.由背景技术可知,在测试环境应用层的部署过程中,手动将应用软件相关的配置信息配置到测试环境应用层中,这种配置方式效率低而且错误率高,当配置出现错误,手动修改配置也存在一定的复杂性并且耗时长,导致测试环境应用层的部署效率低,无法快速满足应用软件的需求。
57.因此,本发明实施例提供了一种测试环境应用层的部署方法,预设的应用配置模型根据应用软件的需求调用相关脚本,以将应用软件的相关配置信息部署到所构建的测试环境应用层的部署结构中,有利于减少人工,提高正确率和效率。
58.本发明实施例提供了一种测试环境应用层的部署方法,该方法可以应用在多种系统平台,其执行主体可以为平台中预设的应用配置模型。
59.本发明实施例提供的方法中,预设的应用配置模型是基于整个应用层视角考虑需求,首先将配置信息根据应用安装部署需求场景进行了梳理和补充,然后将配置信息基于需求和识别出的配置关系构建成一个“风铃”式的模型,包含了部署结构及其相关配置信息、通用平台层产品实例化相关配置信息,该通用平台层产品实例化相关配置信息为节点资源,基于部署单元的安装部署编排涉及的配置信息,以及各配置项之间的内部依赖和外部依赖,最后运用到具体的实现中并不断完善修正。
60.本发明实施例提供的方法中,应用系统在设计开发阶段称为逻辑子系统,在部署
运行阶段称为物理子系统。逻辑子系统指用于实现同一功能的应用系统,物理子系统指部署在同一组物理基础设施上的应用系统,逻辑子系统可对应包含一个或多个物理子系统。应用系统是指以实现某类银行业务功能或实现某中后台技术功能的应用软件系统简称应用系统。
61.本发明实施例提供的方法中,版本检验测试是应用程序的迭代版本在进入到生产环境开展投产运营之前最后一次的检验测试,各应用系统开展版本检验测试的专用测试区域称为版本检验测试环境。该测试环境的建设和运维都要求和生产环境在结构和配置上保持高度一致,以最大程度的模拟应用程序迭代版本在生产环境线上运行的场景和效果。
62.本发明实施例提供了一种测试环境应用层的部署方法,该方法的方法流程图如图1所示,具体包括:
63.s101:在当前应用软件对应的生产环境配置管理库(configuration management database,cmdb)中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;
64.本发明实施例提供的方法中,部署结构通常自顶向下可分为四层,第一层是逻辑子系统,第二层是逻辑子系统对应包含的物理子系统,第三层是物理子系统下按照具体实现的子功能模块拆分的部署单元,第四层是部署单元下的部署节点,该部署节点是最小的部署结构单位,通常对应一个具体的虚拟机或物理机资源。
65.本发明实施例提供的方法中,在生成应用软件对应的测试环境应用层的部署结构前,根据生成应用软件对应的测试环境的需求或原则来预定义一个“结构不变、容量缩减”的规则,通过该规则形成该应用软件对应的测试环境应用层的部署结构,该规则中的结构不变指保留通用部署结构的逻辑子系统和物理子系统的个数与映射关系,容量缩减指在全部部署单元中裁剪一部分部署单元,并对被保留的部署单元内部中的部署节点个数以及部署节点性能容量进行缩减。
66.本发明实施例提供的方法中,容量缩减的具体实现为,如该测试环境不需要异地灾备属性部署单元与海外属性部署单元,则在全部部署单元中仅裁剪异地灾备属性部署单元与海外属性部署单元;在该容量缩减中,缩减部署节点的个数以及部署节点性能容量是按最小化原则来进行压缩,例如在应用角色部署单元内部将各个部署节点个数缩减为n*3(n*3中的3为n的3个倍数,指这里缩减为最小的3倍数的节点个数),在数据库角色部署单元内部将各个部署节点个数缩减为n*2或n*2+5;应用部署单元内单个部署节点的性能容量压缩为最小的1c4g,数据库部署单元内单个部署节点的性能容量压缩为最小的4c8g。
67.s102:确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;
68.本发明实施例提供的方法中,各个节点资源是根据测试环境应用层的部署需求,获取应用软件对应的各个配置信息并适配到平台层中所形成的各个节点资源,该适配过程为将各个配置信息进行转换并映射到平台层的过程。基于各个配置信息的整体视角,可分为各个公共配置信息和各个独立配置信息,各个公共配置信息例如为厂家的操作系统的版本号等,各个独立配置信息例如为应用软件版本号、补丁版本号、用户名称、属组权限信息等。
69.需要说明的是,各个配置信息适配的过程是提前适配的过程,即在生成测试环境应用层的部署结构前需要提前适配好。
70.需要说明的是,各个配置信息中相应的各个公共配置信息和各个独立配置信息可构建生成应用配置基线,给测试环境应用层作为各个节点资源对应的实施操作的输入来源。
71.s103:基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;
72.本发明实施例提供的方法中,首先将从生产环境配置管理库中获取到的的各个配置信息来确定部署结构中的与该配置信息对应的各个节点配置信息,由每个节点资源查找与之相对应的目标节点配置信息,如果每个节点资源都可以查找到相对应的目标节点配置信息,则表示这些节点资源满足部署结构的部署需求。查找的过程例如,根据部署结构可以确定出其中a节点类型和a节点类型的a节点个数,从所有的节点资源中查找出与a节点类型和a节点类型的a节点个数相对应的各个a节点资源。
73.需要说明的是,如果某一个节点资源并没有查找到相对应的节点配置信息,那么说明该节点资源不满足部署结构的部署需求,这时,需要重新适配节点资源,并回到步骤s101。
74.s104:若满足,则获取每个所述节点资源对应的资源信息;
75.本发明实施例提供的方法中,每个节点资源对应的资源信息为对应每个配置信息中的公共配置信息,该公共配置信息分别包括操作系统、中间件和数据库的相关信息。
76.s105:调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;
77.本发明实施例提供的方法中,不同资源信息对应不同的部署脚本,基于每个资源信息,从应用配置基线确定与之对应的部署脚本,将该部署脚本输入到预设好的脚本编排模板中,生成对应的信息部署脚本。由相应的各个信息部署脚本将各个资源信息部署至部署结构中,形成各个节点资源对应的部署环境。
78.需要说明的是,各个信息部署脚本需预先存储到预设云管平台下,预设云管平台通过代理机制与被纳管部署节点信息交互,下发操作脚本、传递配置信息的配置参数值到具体部署节点来实现实例化安装和配置。
79.s106:调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。
80.本发明实施例提供的方法中,各应用系统的不同部署单元对应不同的应用包,且应用系统和应用系统之间,不同部署单元和不同部署单元之间个性化差异较大,需按照部署单元角色确定对应的角色部署单元类型,再根据每个部署单元进行节点部署脚本的预定义。例如部署单元角色可分为web(万维网,world wide web)和应用角色部署单元和db(数据库,data base)角色部署单元,先按应用包内部结构的不同来逐一定义每个部署单元对应的节点部署脚本;web和应用角色部署单元:依据应用配置模型从应用配置基线中提取相关配置信息,对其中存在共性的应用包安装、开源产品安装、公共服务地址设置、应用启停等提炼出共性部署脚本,对个性化部分总结出各应用系统各应用包对应的个性配置文件,将该共性部署脚本、个性配置文件输入至脚本编排模板中完成对应部署单元对应的节点部
署脚本。db角色部署单元:根据数据库软件产品厂商与版本的不同,对应不同的安装和实例化,并通过导入方式完成表结构和数据的初始化,即根据数据库的软件产品厂商与版本,提取相应的共性部署脚本作为节点部署脚本。
81.需要说明的是,当节点部署脚本预定义完成后,若生产环境配置管理库中的某些配置信息发生变化,相应的应用配置基线中的某些配置信息发生变化,这里将发生变化的某些配置信息作为变化配置信息,确定与某些配置信息相关的节点部署脚本,通过应用配置模型从应用配置基线中提取这些变化配置信息传参给相关节点部署脚本中,将相关节点部署脚本中某些配置信息替换为这些变化配置信息,从而生成新的节点部署脚本。相应的,当生产环境配置管理库中的某些配置信息发生变化,其依据这些某些配置信息生成的相关部署结构、节点资源也随着所变化的某些配置信息发生变化。
82.本发明实施例提供的方法中,在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;若满足,则获取每个所述节点资源对应的资源信息;调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。应用本发明实施例提供的方法,通过预设好的应用配置模型自动配置好测试环境应用层的部署所需资源,并将这些部署所需资源部署到测试环境应用层中,提高了部署过程的自动程度,进而提高了部署效率。
83.进一步的,在上述实施例提供的方法的基础上,本发明实施例提供的方法中,步骤s101中提及的在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构,包括:
84.确定所述当前应用软件的应用属性以及预先设置的通用部署结构;
85.在所述当前应用软件对应的生产环境配置管理库中获取与所述应用属性对应的各个配置信息;
86.依据各个所述配置信息对所述通用部署结构进行裁剪,以生成与所述当前应用软件对应的测试环境应用层的部署结构。
87.本发明实施例提供的方法中,预先设置的通用部署结构是当前基础设施及通用平台层的物理部署结构,该物理部署结构是基于应用配置模型抽取生产环境配置管理库中的配置信息,并依据各个配置信息之间的依赖关系推导产生。
88.为了更好地说明上述实施例中提及的测试环境应用层的部署结构,结合图2所示应用配置模型的示例的部署结构关系示意图,进一步对本发明实施例提供的方法中,对物理部署结构和业务逻辑依赖作简要说明。
89.如图2所示,第一层是逻辑子系统,逻辑子系统与逻辑子系统之间的关系呈外部依赖关系,第二层是逻辑子系统包含的物理子系统,该物理子系统分别为子系统a、子系统b和
子系统c,子系统c依赖于同一物理子系统中的子系统a和子系统b,即子系统c内部依赖于子系统a和子系统b,第三层是物理子系统下按照具体实现的子功能模块拆分的部署单元,如子系统a包含web部署单元、ap部署单元1等等,如其中db部署单元2内部依赖于ap部署单元3,第四层是部署单元下的部署节点,如ap部署单元3包含节点1、节点2和节点3,其中节点1、节点2和节点3为同组对应的关系。应用配置模型基于需求抽取应用软件相关配置信息,其相关配置信息根据识别出来的依赖关系推导建成一个“风铃”式的模型。
90.进一步的,在上述实施例提供的方法的基础上,本发明实施例提供的方法中,步骤s103中提及的基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求,包括:
91.基于在所述生产环境配置管理库中获取的各个配置信息,确定每个所述配置信息在所述部署结构中对应的节点配置信息;
92.在各个所述节点配置信息中查找与每个所述节点资源对应的目标节点配置信息;
93.若每个所述节点资源均查找到与其对应的所述目标节点配置信息,则确定各个所述节点资源满足所述部署结构的部署需求。
94.本发明实施例提供的方法中确定各个节点资源是否满足部署结构的部署需求,主要是通过确定每个节点资源能否对应得上部署结构中对应的节点配置信息中的目标节点配置信息,其中各个节点配置信息能够对应生成部署结构中的各类型节点以及各个节点个数。参考图3以及图4,分别示出了物理部署结构的各类型部署节点以及各类型部署节点的子模型,图3示例中的各类型节点分别为ap部署节点-联机wb部署节点、ap部署节点-批量以及db部署节点,并分别示出了各个类型节点下相应的各个配置项分组、各个配置项分组相应的各个配置项、各个配置项相应的各个配置子项以及各个配置子项相应的各个属性。
95.如图3,以类型部署节点ap部署节点-联机wb部署节点为例,需对应安装相应的配置项分组os、中间件、公共组件、开源软件和应用;每个类型节点对应包括各个子模型,各个子模型即配置项,如os的子模型包括linux、aix、hpux、windows各个不同的配置项;各个配置项栏目下又包括各个配置子项,如配置项windows包括基本信息、host文件等等配置子项;各个配置子项又包括相应的各个属性,如配置项windows的配置子项基本信息就包括主机名、内核版本和版本各个属性。
96.进一步的,在上述实施例提供的方法的基础上,本发明实施例提供的方法中,步骤s105中提及的各个所述信息部署脚本的预先定义的过程,包括:
97.依据每个所述节点资源对应的资源信息,确定每个所述资源信息对应的通用部署脚本;
98.将每个所述资源信息对应的通用部署脚本,输入至预先设置的脚本编排模板中,获得该资源信息对应的各个信息部署脚本。
99.进一步的,在上述实施例提供的方法的基础上,本发明实施例提供的方法中,步骤s106中提及完成所述当前应用软件的测试环境应用层的部署后,还包括:
100.调用预先设置的测试实施脚本对所述当前应用软件的测试环境应用层进行测试,并获得测试结果。
101.本发明实施例提供的方法中,针对应用软件的启动、逻辑子系统间的联通性进行测试与故障排查。主要是联通性配置修改和联通性绿灯测试。例如,对ap(操作系统,
application processor)到db部署单元的连结配置修改和检查,其次是应用系统内部各ap部署单元的联通测试与配置修改和检查,最后是预定义的启停脚本、应用服务状态检查脚本、联通性绿灯测试脚本。
102.本发明实施例提供的方法中,配置修改为修改相同配置文件里相同的字段,这里的配置文件即配置信息。例如,修改ip地址,在安装步骤、文件个数的路径都一致的情况下,修改ip地址其实也是同一文件传输的服务端地址,那么多个系统可以用同一个配置修改脚本来实现,可以仅编辑一个配置文件,然后替换掉多个系统中对应服务地址的配置文件。
103.基于上述实施例提供的方法,参考图5,示出了本发明实施例提供的一种测试环境应用层的部署方法的部署实现流程图,部署实现的过程是基于一个平台进行,该平台包括配置模块、版本模块、资源模块和数据模块,由步骤1到步骤10的顺序进行部署实现,包括:
104.步骤1、获取部署架构配置
105.基于配置模块中的配置库、版本模块中的版本库以及数据模块中的数据湖生成测试环境应用层的部署结构。
106.步骤2、申请基础设施资源
107.若当前应用系统申请的ap部署节点个数为5个,则需对应分配相应的5个ap部署节点的基础设施资源,且基础设施资源需预装相应的基础软件。
108.步骤3、检查交付环境
109.检查步骤2交付的基础设施资源是否符合部署结构的需求,主要检查节点个数、名称、版本等等,检查的依据是应用配置模块抽取出来的配置信息。
110.步骤4、获取应用部署配置
111.这一步开始做应用层的快速部署,首先获取应用软件相关的资源信息,例如预装的中间件,获取该中间件对应的版本号、用户名称等等。
112.步骤5、中间件及应用部署
113.部署中间件及具体的产品。比如在实际部署中间件的过程中,通过调用通用脚本和个性脚本部署相应的应用包来实现中间件部署的实施操作,当要部署中间件的weblogic中间件产品时,需要先安装相应的jdk应用包,通过配置模块中的配置信息确定该jdk相应版本号,通过版本模块获取该jdk相应安装介质,通过数据模块获取jdk相应建表sql(结构化查询语言,structured query language),当接收到所输入的jdk相应版本号、安装介质和建表sql时,调用与jdk相应的shell脚本进行安装jdk,基于完成安装的jdk,对weblogic进行安装,图中列举了weblogic的主要活动步骤,第一个checkuser通过对应shella脚本来进行检查应用用户,以应用用户的身份来进行接下来的操作,第二个setenv通过对应的shellb脚本来检查环境变量的设置等等,每一个活动步骤都相对应一个脚本来完成中间件及应用部署的任务。
114.步骤6、bd部署
115.当完成中间件及应用部署以及当前应用软件包含db类型的db节点时,对应用系统db节点进行部署。
116.步骤7、wb部署
117.当完成中间件及应用部署以及当前应用软件包含wb类型的wb节点时,对应用系统wb节点进行部署。
118.步骤8、联调
119.应用系统与应用系统之间的联调,联调过程可能会存在一些小设置的配置修改。
120.步骤9、启动和绿灯
121.针对整个应用层进行启动,应用系统进行联通性绿灯测试等。
122.步骤10、一致性检查
123.检查测试环境应用层与生产环境应用层是否保持一致。
124.本发明实施例提供的方法中,在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;若满足,则获取每个所述节点资源对应的资源信息;调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。应用本发明实施例提供的方法,通过预设好的应用配置模型自动配置好测试环境应用层的部署所需资源,并将这些部署所需资源部署到测试环境应用层中,提高了部署过程的自动程度,进而提高了部署效率。
125.与图1所示的一种测试环境应用层的部署方法相对应的,本发明实施例还提供了一种测试环境应用层的部署装置,用于对图1中所示方法的具体实现,其结构示意图如图6所示,包括:
126.生成单元201,用于在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;
127.确定单元202,用于确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;
128.检查单元203,用于基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;
129.获取单元204,用于若满足,则获取每个所述节点资源对应的资源信息;
130.第一部署单元205,用于调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;
131.第二部署单元206,用于调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。
132.本发明实施例提供的装置中,在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;基于所述生产环境配置管理库,检查各个所述节点资源是否满足
所述部署结构的部署需求;若满足,则获取每个所述节点资源对应的资源信息;调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。应用本发明实施例提供的装置,通过预设好的应用配置模型自动配置好测试环境应用层的部署所需资源,并将这些部署所需资源部署到测试环境应用层中,提高了部署过程的自动程度,进而提高了部署效率。
133.在图6的基础上,参考图7示出了测试环境应用层的部署装置的又一结构示意图,具体包括:
134.所述生成单元201,包括:
135.第一确定子单元207,用于确定所述当前应用软件的应用属性以及预先设置的通用部署结构;
136.获取子单元208,用于在所述当前应用软件对应的生产环境配置管理库中获取与所述应用属性对应的各个配置信息;
137.生成子单元209,用于依据各个所述配置信息对所述通用部署结构进行裁剪,以生成与所述当前应用软件对应的测试环境应用层的部署结构。
138.所述检查单元203,包括:
139.第二确定子单元210,用于基于在所述生产环境配置管理库中获取的各个配置信息,确定每个所述配置信息在所述部署结构中对应的节点配置信息;
140.查找子单元211,用于在各个所述节点配置信息中查找与每个所述节点资源对应的目标节点配置信息;
141.第三确定子单元212,用于若每个所述节点资源均查找到与其对应的所述目标节点配置信息,则确定各个所述节点资源满足所述部署结构的部署需求。
142.所述第一部署单元205,还包括:
143.第四确定子单元213,用于依据每个所述节点资源对应的资源信息,确定每个所述资源信息对应的通用部署脚本;
144.获得子单元214,用于将每个所述资源信息对应的通用部署脚本,输入至预先设置的脚本编排模板中,获得该资源信息对应的各个信息部署脚本。
145.还包括:
146.测试子单元215,用于调用预先设置的测试实施脚本对所述当前应用软件的测试环境应用层进行测试,并获得测试结果。
147.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术
人员在不付出创造性劳动的情况下,即可以理解并实施。
148.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
149.为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
150.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:1.一种测试环境应用层的部署方法,其特征在于,包括:在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;若满足,则获取每个所述节点资源对应的资源信息;调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。2.根据权利要求1的方法,其特征在于,所述在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构,包括:确定所述当前应用软件的应用属性以及预先设置的通用部署结构;在所述当前应用软件对应的生产环境配置管理库中获取与所述应用属性对应的各个配置信息;依据各个所述配置信息对所述通用部署结构进行裁剪,以生成与所述当前应用软件对应的测试环境应用层的部署结构。3.根据权利要求1的方法,其特征在于,所述基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求,包括:基于在所述生产环境配置管理库中获取的各个配置信息,确定每个所述配置信息在所述部署结构中对应的节点配置信息;在各个所述节点配置信息中查找与每个所述节点资源对应的目标节点配置信息;若每个所述节点资源均查找到与其对应的所述目标节点配置信息,则确定各个所述节点资源满足所述部署结构的部署需求。4.根据权利要求1的方法,其特征在于,所述各个所述信息部署脚本的预先定义的过程,包括:依据每个所述节点资源对应的资源信息,确定每个所述资源信息对应的通用部署脚本;将每个所述资源信息对应的通用部署脚本,输入至预先设置的脚本编排模板中,获得该资源信息对应的各个信息部署脚本。5.根据权利要求1的方法,其特征在于,所述完成所述当前应用软件的测试环境应用层的部署后,还包括:调用预先设置的测试实施脚本对所述当前应用软件的测试环境应用层进行测试,并获得测试结果。
6.一种测试环境应用层的部署装置,其特征在于,包括:生成单元,用于在当前应用软件对应的生产环境配置管理库中,获取与所述当前应用软件对应的各个配置信息,并依据各个所述配置信息生成所述当前应用软件对应的测试环境应用层的部署结构;确定单元,用于确定待部署至所述部署结构中的所述当前应用软件对应的各个节点资源;检查单元,用于基于所述生产环境配置管理库,检查各个所述节点资源是否满足所述部署结构的部署需求;获取单元,用于若满足,则获取每个所述节点资源对应的资源信息;第一部署单元,用于调用各个所述资源信息对应的预先定义的各个信息部署脚本,依据各个所述信息部署脚本将各个所述资源信息部署至所述部署结构中,在所述部署结构中建立与各个所述节点资源对应的部署环境;第二部署单元,用于调用各个所述节点资源对应的预先定义的各个节点部署脚本,依据各个所述节点部署脚本将各个所述节点资源部署至所述部署环境中,完成所述当前应用软件的测试环境应用层的部署。7.根据权利要求6的装置,其特征在于,所述生成单元,包括:第一确定子单元,用于确定所述当前应用软件的应用属性以及预先设置的通用部署结构;获取子单元,用于在所述当前应用软件对应的生产环境配置管理库中获取与所述应用属性对应的各个配置信息;生成子单元,用于依据各个所述配置信息对所述通用部署结构进行裁剪,以生成与所述当前应用软件对应的测试环境应用层的部署结构。8.根据权利要求6的装置,其特征在于,所述检查单元,包括:第二确定子单元,用于基于在所述生产环境配置管理库中获取的各个配置信息,确定每个所述配置信息在所述部署结构中对应的节点配置信息;查找子单元,用于在各个所述节点配置信息中查找与每个所述节点资源对应的目标节点配置信息;第三确定子单元,用于若每个所述节点资源均查找到与其对应的所述目标节点配置信息,则确定各个所述节点资源满足所述部署结构的部署需求。9.根据权利要求6的装置,其特征在于,所述第一部署单元,还包括:第四确定子单元,用于依据每个所述节点资源对应的资源信息,确定每个所述资源信息对应的通用部署脚本;获得子单元,用于将每个所述资源信息对应的通用部署脚本,输入至预先设置的脚本编排模板中,获得该资源信息对应的各个信息部署脚本。10.根据权利要求6的装置,其特征在于,还包括:测试子单元,用于调用预先设置的测试实施脚本对所述当前应用软件的测试环境应用层进行测试,并获得测试结果。
技术总结本发明提供一种测试环境应用层的部署方法及装置,该方法包括:从当前应用软件对应的生产环境配置管理库中获取对应的配置信息,依据配置信息生成当前应用软件对应的测试环境应用层的部署结构;确定待部署至部署结构中的当前应用软件对应的节点资源;基于生产环境配置管理库,检查节点资源是否满足部署结构的部署需求;若满足,则获取节点资源对应的资源信息;用资源信息对应的信息部署脚本将资源信息部署至部署结构中来建立相应的部署环境;调用节点资源对应的节点部署脚本将节点资源部署至部署环境中,完成当前应用软件的测试环境应用层的部署。应用本发明的方法,测试环境应用层的部署过程的自动化程度增高,提高了部署的效率。效率。效率。
技术研发人员:田毅佳 雷苏娇 周军
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2022.04.08
技术公布日:2022/7/5