CN109814877A - 基于环境管理的项目部署方法及其装置 - Google Patents
基于环境管理的项目部署方法及其装置 Download PDFInfo
- Publication number
- CN109814877A CN109814877A CN201811534577.5A CN201811534577A CN109814877A CN 109814877 A CN109814877 A CN 109814877A CN 201811534577 A CN201811534577 A CN 201811534577A CN 109814877 A CN109814877 A CN 109814877A
- Authority
- CN
- China
- Prior art keywords
- environment
- project
- server
- running environment
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000007613 environmental effect Effects 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012512 characterization method Methods 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 238000007689 inspection Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 description 41
- 238000013507 mapping Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于环境管理的项目部署方法及其装置,所述方法包括:获取服务器集群中每台服务器对应的运行环境信息,将安装有相同运行环境的服务器分为一组,形成多个服务器组;将运行环境和服务器组的映射信息保存在配置文件中;获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境;从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;将所述项目部署到所述目标服务器组。
Description
技术领域
本发明涉及项目部署技术领域,尤其涉及一种基于运行环境管理的项目部署方法、装置、计算机设备及存储介质。
背景技术
部署平台的目的是针对应用项目提供应用服务,搭建过程中需要进行计算资源的分配和应用项目的部署。
传统方式下通常是手工进行计算资源的分配,需要先创建虚拟机,预估一个资源分配给该虚拟机,然后上传应用项目,进行项目的部署。整个过程需要人工干预,操作上相对复杂,而且对于计算资源的预估不一定准确。
近年来也出现了一些自动部署平台,可以自动完成项目部署过程,例如瓦力公司推出的Walle上线部署系统。然而,Walle部署系统只能针对单一环境进行项目发布,而且流程过于简单,缺乏灵活性。当项目需要发布到不同的环境中时,则必须针对不同的环境重新定制开发,部署系统无法迁移,适配性差。
发明内容
本发明的目的是提供一种基于环境管理的项目部署方法、装置、计算机设备及存储介质,用于解决现有技术存在的问题。
为实现上述目的,本发明提供一种基于环境管理的项目部署方法,包括以下步骤:
获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组;
将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系;
获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境;
从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;
将所述项目部署到所述目标服务器组。
进一步地,将所述项目部署到所述目标服务器组的步骤包括:
获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
顺序执行所述目标流程节点。
进一步地,所述运行环境包括测试环境和生产环境;
所述待执行的全部流程节点包括:提出申请、审批申请、执行部署、验收和环境同步;其中提出申请是指开发人员提出部署所述目标运行环境的申请,所述审批申请是指管理人员对所述申请进行审批,所述执行部署是指执行在所述目标运行环境下的项目部署,所述验收是对所述项目在所述目标运行环境下的运行情况的检查,所述环境同步是指将所述目标运行环境同步到容灾环境中。
进一步地,所述运行环境还包括自定义环境,用于表征根据用户需求安装有特定操作程序的运行环境。
进一步地,所述项目信息中包括两种或者两种以上的目标运行环境,所述将所述项目部署到所述目标服务器组的步骤包括:
依次选择每一种运行环境下对应的目标流程节点;
顺序执行选定的所有运行环境下的所述目标流程节点。
为实现上述目的,本发明还提出一种基于环境管理的项目部署装置,包括:
分组模块,适用于获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组;
映射信息模块,适用于将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系;
目标运行环境获取模块,适用于获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境;
查找模块,适用于从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;
部署模块,适用于将所述项目部署到所述目标服务器组。
进一步地,所述部署模块包括:
流程节点模块,适用于获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
目标节点模块,适用于根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
执行模块,适用于顺序执行选定的所述目标流程节点。
进一步地,所述待执行的全部流程节点包括:提出申请、审批申请、执行部署、验收和环境同步;其中提出申请是指开发人员提出部署所述目标运行环境的申请,所述审批申请是指管理人员对所述申请进行审批,所述执行部署是指执行在所述目标运行环境下的项目部署,所述验收是对所述项目在所述目标运行环境下的运行情况的检查,所述环境同步是指将所述目标运行环境同步到容灾环境中。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的项目部署方法、装置、计算机设备及存储介质,通过将不同运行环境下需要经历的流程节点集中存放,当要在某一运行环境下进行项目部署时,只需调出该运行环境对应的流程节点进行部署。同时本发明还可以针对多种运行环境进行一体化部署,操作时顺序调出各种运行环境所对应的流程节点,顺序执行各个流程节点即可实现不同环境下的项目部署。本发明对于不同的运行环境具有良好的可适配性,能够满足应用项目在多种运行环境下的灵活调控。
附图说明
图1为本发明项目部署方法实施例一的流程图;
图2为本发明项目部署装置实施例一的程序模块示意图;
图3为本发明项目部署装置实施例一的硬件结构示意图;
图4为本发明项目部署方法实施例二的流程图;
图5为本发明项目部署装置实施例二的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的项目部署方法、装置、计算机设备及存储介质,适用于项目部署技术领域,为应用项目提供一种可迁移性高、适配性好的项目部署方法及其装置。本发明通过将不同运行环境下需要经历的流程节点集中存放,当要在某一运行环境下进行项目部署时,只需调出该运行环境对应的流程节点进行部署。同时本发明还可以针对多种运行环境进行一体化部署,操作时顺序调出各种运行环境所对应的流程节点,顺序执行各个流程节点即可实现不同环境下的项目部署。本发明对于不同的运行环境具有良好的可适配性,能够满足应用项目在多种运行环境下的灵活调控。
实施例一
请参阅图1,本实施例的一种项目部署方法中,包括以下步骤:
S1:获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组。
运行环境主要包括系统的硬件环境和由其它的系统软件组成的软件环境,其对于应用程序的重要性不言而喻。总体上来说,运行环境就是使用的操作系统和它的当前配置,还包括运行在同一操作系统上会和被测试软件进行交互的其他一些应用程序,包括会间接或直接影响被测软件本身或影响被测软件运行的任何驱动程序、代码、文件、设置等,还包括软件当前连接的网络情况、网络的可用带宽、性能等。任何可以影响被测软件行为的因素都是运行环境的一部分,在测试中都必须考虑到。通常一个项目(例如系统、应用软件、版本工具等)的开发需要经历三个阶段,分别是开发阶段、测试阶段和上线阶段。开发阶段对应的服务器配置为开发环境,该环境下的服务器专门用于程序员进行软件开发,配置相对比较随意。测试阶段对应的服务器配置为测试环境,一般是克隆一份生产环境,用于测试软件能否正常工作。上线阶段对应的服务器配置为生产环境,用于正式提供对外服务。除了以上三种环境之外,为了避免由于种种原因出现数据、文件损坏或者丢失的问题,通常还包括容灾环境,用于将损坏或丢失的数据、文件恢复到发生事故以前的状态。
由于本发明的目的是对已经完成开发的项目进行不同环境下的部署,因此一般不考虑开发环境,主要考虑的是测试环境、生产环境以及容灾环境。另外还可根据用户的具体需要进行自定义环境的部署。
假设服务器集群A中共有N台服务器,其中有P台服务器配置为测试环境,有Q台服务器配置为生产环境,有R台服务器配置为容灾环境。此时可将上述的P台服务器定义为测试服务器组,将上述的Q台服务器定义为生产服务器组,将上述的R台服务器定义为容灾服务器组,另外还可以预留出S台服务器作为用户自定义环境的自定义服务器组,其中P+Q+R+S≤N。
S2:将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系。
本步骤中,建立一配置文件W用以保存运行环境和服务器组的映射信息。具体而言,该配置文件W中记录有测试环境与上述P台服务器组成的测试服务器组之间的第一映射关系,生产环境与上述Q台服务器组成的生产服务器组之间的第二映射关系,容灾环境与上述R台服务器组成的容灾服务器组之间的第三映射关系,以及自定义环境与S台服务器组成的自定义服务器组之间的第四映射关系。其中,第一映射关系中包括测试服务器组的P台服务器中的每一台服务器的编号,第二映射关系中包括生产服务器组的Q台服务器中的每一台服务器的编号,第三映射关系中包括容灾服务器组的R台服务器中的每一台服务器的编号,第四映射关系中包括自定义服务器组的S台服务器中的每一台服务器的编号。
S3:获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境。
本步骤中,从用户定义的项目发布信息中获取项目的单一运行环境。例如用户需要将项目发布到测试环境中,则获取到的运行环境为测试环境;用户需要将项目发布到生产环境中,则获取到的运行环境为生产环境,等等。
S4:从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组。
本步骤中,当获取到运行环境为测试环境时,从配置文件W中查找到与测试环境形成第一映射关系的测试服务器组中的P台服务器,将该P台服务器定义为目标服务器组;当获取到运行环境为生产环境时,从配置文件W中查找到与生产环境形成第二映射关系的生产服务器组中的Q台服务器,将该Q台服务器定义为目标服务器。
S5:将所述项目部署到所述目标服务器组。
本步骤中,将所述项目部署到所述目标服务器组的步骤具体包括:
S51:获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
S52:根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
S53:顺序执行选定的所述流程节点。
本发明中的流程指的是部署操作的生命周期,而节点指的是构成每个生命周期的具体环节。例如,在测试环境下的部署操作包括第一节点集合,该第一节点集合中的节点可包括提出测试环境测试、测试环境审批、测试环境部署和测试环境验收等环节;在生产环境下的部署操作包括第二节点集合,该第二节点集合中的节点可包括提出生产环境测试、生产环境审批、生产环境部署和生产环境验收等环节;在自定义环境下的部署操作包括第三节点集合,该第三节点集合可包括提出自定义环境测试、自定义环境审批、自定义环境部署和自定义环境验收等环节。
本发明对于某一种运行环境下的所有节点一般都是固定的,例如都包含了提出申请、审批申请、执行部署、验收和环境同步的过程。其中提出申请是指开发人员提出部署所述目标运行环境的申请,所述审批申请是指管理人员对所述申请进行审批,所述执行部署是指执行在所述目标运行环境下的项目部署,所述验收是对所述项目在所述目标运行环境下的运行情况的检查,所述环境同步是指将所述目标运行环境同步到容灾环境中。
具体实施时可以根据实际情况选择需要执行的某一个或者几个目标流程节点,不必每次都全部执行。例如当开发人员被赋予自主进行测试的权利,则不必经过前面的提出申请和审批申请的流程节点,直接进入执行部署、验收和环境同步的节点,此时执行部署、验收和环境同步的节点则被称为目标流程节点。优选的,一个项目所需执行的目标流程节点信息被放置在项目的发布信息中,用户可通过获取项目发布信息中的目标流程节点进行适当的配置。
当用户需要将项目部署到不同的目标运行环境中时,只需调用该环境所对应的流程中的节点,然后按照顺序执行节点即可。
通过本实施例的项目部署方法,对于不同的运行环境,只需要选择与运行环境相对应的不同流程节点后顺序执行即可,不需要重新开发部署平台,因此可以提高部署平台在不同运行环境下进行项目部署的可移植性和适配性,使得本发明更具科学性、便捷性和人性化。
请继续参阅图2,示出了一种项目部署装置,在本实施例中,项目部署装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述项目部署方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述项目部署装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
分组模块11,适用于获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组;
映射信息模块12,适用于将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系;
目标运行环境获取模块13,适用于获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境;
查找模块14,适用于从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;
部署模块15,适用于将所述项目部署到所述目标服务器组。
进一步地,所述部署模块15包括:
流程节点模块151,适用于获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
目标节点模块152,适用于根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
执行模块153,适用于顺序执行选定的所述流程节点。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图3所示。需要指出的是,图3仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的项目部署装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行项目部署装置10,以实现实施例一的项目部署方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储项目部署装置10,被处理器执行时实现实施例一的项目部署方法。
实施例二
请参阅图4,本实施例的项目部署方法以实施例一为基础,包括以下步骤:
S1:获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组。
通常一个项目(例如系统、应用软件、版本工具等)的开发需要经历三个阶段,分别是开发阶段、测试阶段和上线阶段。开发阶段对应的服务器配置为开发环境,该环境下的服务器专门用于程序员进行软件开发,配置相对比较随意。测试阶段对应的服务器配置为测试环境,一般是克隆一份生产环境,用于测试软件能否正常工作。上线阶段对应的服务器配置为生产环境,用于正式提供对外服务。除了以上三种环境之外,为了避免由于种种原因出现数据、文件损坏或者丢失的问题,通常还包括容灾环境,用于将损坏或丢失的数据、文件恢复到发生事故以前的状态。
由于本发明的目的是对已经完成开发的项目进行不同环境下的部署,因此一般不考虑开发环境,主要考虑的是测试环境、生产环境以及容灾环境。另外还可根据用户的具体需要进行自定义环境的部署。
假设服务器集群A中共有N台服务器,其中有P台服务器配置为测试环境,有Q台服务器配置为生产环境,有R台服务器配置为容灾环境。此时可将上述的P台服务器定义为测试服务器组,将上述的Q台服务器定义为生产服务器组,将上述的R台服务器定义为容灾服务器组,另外还可以预留出S台服务器作为用户自定义环境的自定义服务器组,其中P+Q+R+S≤N。
S2:将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系。
本步骤中,建立一配置文件W用以保存运行环境和服务器组的映射信息。具体而言,该配置文件W中记录有测试环境与上述P台服务器组成的测试服务器组之间的第一映射关系,生产环境与上述Q台服务器组成的生产服务器组之间的第二映射关系,容灾环境与上述R台服务器组成的容灾服务器组之间的第三映射关系,以及自定义环境与S台服务器组成的自定义服务器组之间的第四映射关系。其中,第一映射关系中包括测试服务器组的P台服务器中的每一台服务器的编号,第二映射关系中包括生产服务器组的Q台服务器中的每一台服务器的编号,第三映射关系中包括容灾服务器组的R台服务器中的每一台服务器的编号,第四映射关系中包括自定义服务器组的S台服务器中的每一台服务器的编号。
S3:获取项目的发布信息,所述发布信息包括两种或两种以上目标运行环境,所述目标运行环境用于表征所述项目需要匹配的运行环境。
本发明可以同时实现在两种或者两种以上目标运行环境下的项目部署。本步骤中,从用户定义的项目发布信息中获取项目的两种或两种以上目标运行环境。例如用户需要将项目发布到测试环境和生产环境中,则获取到的运行环境为测试环境和生产环境;用户需要将项目发布到测试环境、生产环境和容灾环境中,则获取到的运行环境为测试环境、生产环境和容灾环境等。
S4:从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组。
本步骤中,当获取到运行环境为测试环境和生产环境时,从配置文件W中查找到与测试环境形成第一映射关系的测试服务器组中的P台服务器,以及与生产环境形成第二映射关系的生产服务器组中的Q台服务器,将该P台服务器和该Q台服务器定义为目标服务器组;当获取到运行环境为测试环境、生产环境和容灾环境时,从配置文件W中查找到与测试环境形成第一映射关系的测试服务器组中的P台服务器,与生产环境形成第二映射关系的生产服务器组中的Q台服务器,以及与容错环境形成第三映射关系的容错服务器组中的R台服务器,将该P台服务器、该Q台服务器和该R台服务器定义为目标服务器组。
S5:将所述项目部署到所述目标服务器组。
本步骤中,将所述项目部署到所述目标服务器组的步骤具体包括:
S51:获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
S52:根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
S53:顺序执行选定的所述流程节点。
本发明中的流程指的是部署操作的生命周期,而节点指的是构成每个生命周期的具体环节。例如,在测试环境下的部署操作包括第一节点集合,该第一节点集合中的节点可包括提出测试环境测试、测试环境审批、测试环境部署和测试环境验收等环节;在生产环境下的部署操作包括第二节点集合,该第二节点集合中的节点可包括提出生产环境测试、生产环境审批、生产环境部署和生产环境验收等环节;在自定义环境下的部署操作包括第三节点集合,该第三节点集合可包括提出自定义环境测试、自定义环境审批、自定义环境部署和自定义环境验收等环节;在容灾环境下的部署操作可包括将测试环境同步到容灾环境或将生产环境同步到容灾环境或将自定义环境同步到容灾环境等环节。
当用户需要将项目部署到两种或两种以上的目标运行环境中时,只需调用每种环境所对应的流程中的节点,然后按照顺序执行所有目标节点执行所有目标节点即可。例如,当用户需要将项目部署到测试环境和生产环境中时,则依次调用并执行第一节点集合和第二节点集合;当用户需要将项目部署到测试环境和生产环境中时,则依次调用并执行第一节点集合、第二节点集合和第三节点集合。需要说明的是,每种环境下的流程节点并不是固定不变的,可以根据实际需要对节点进行删除、增加或者更改。
请继续参阅图5,本实施例的项目部署装置30以实施例一为基础,用以实现实施例二的项目部署方法,其包括的各程序模块的功能:
分组模块31,适用于获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组;
映射信息模块32,适用于将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系;
目标运行环境获取模块33,适用于获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境;
查找模块34,适用于从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;
部署模块35,适用于将所述项目部署到所述目标服务器组。
进一步地,所述部署模块35包括:
流程节点模块351,适用于获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
目标节点模块352,适用于根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
执行模块353,适用于顺序执行选定的所述流程节点。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于环境管理的项目部署方法,其特征在于,包括以下步骤:
获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组;
将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系;
获取项目的发布信息,所述发布信息包括目标运行环境,所述目标运行环境用于表征所述项目需要匹配的运行环境;
从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;
将所述项目部署到所述目标服务器组。
2.根据权利要求1所述的项目部署方法,其特征在于,将所述项目部署到所述目标服务器组的步骤包括:
获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
顺序执行所述目标流程节点。
3.根据权利要求2所述的项目部署方法,其特征在于,所述运行环境包括测试环境和生产环境;
所述待执行的全部流程节点包括:提出申请、审批申请、执行部署、验收和环境同步;其中提出申请是指开发人员提出部署所述目标运行环境的申请,所述审批申请是指管理人员对所述申请进行审批,所述执行部署是指执行在所述目标运行环境下的项目部署,所述验收是对所述项目在所述目标运行环境下的运行情况的检查,所述环境同步是指将所述目标运行环境同步到容灾环境中。
4.根据权利要求3所述的项目部署方法,其特征在于,所述运行环境还包括自定义环境,用于表征根据用户需求安装有特定操作程序的运行环境。
5.根据权利要求4所述的项目部署方法,其特征在于,所述项目信息中包括两种或者两种以上的目标运行环境,所述将所述项目部署到所述目标服务器组的步骤包括:
依次选择每一种运行环境下对应的目标流程节点;
顺序执行选定的所有运行环境下的所述目标流程节点。
6.一种基于环境管理的项目部署装置,其特征在于,包括:
分组模块,适用于获取服务器集群中每台服务器对应的运行环境信息,所述运行环境信息包括所述每台服务器上安装的运行环境,将安装有相同运行环境的服务器分为一组,形成多个服务器组;
映射信息模块,适用于将运行环境和服务器组的映射信息保存在配置文件中,所述映射信息表征每个服务器组和在所述每个服务器组上安装的运行环境之间的对应关系;
目标运行环境获取模块,适用于获取项目的发布信息,所述发布信息包括目标运行环境,用于表征所述项目需要匹配的运行环境;
查找模块,适用于从所述配置文件中查找与所述目标运行环境相对应的服务器组,将查找到的服务器组定义为目标服务器组;
部署模块,适用于将所述项目部署到所述目标服务器组。
7.根据权利要求6所述的项目部署装置,其特征在于,所述部署模块包括:
流程节点模块,适用于获取部署所述目标运行环境时待执行的全部流程节点,所述流程节点表征完成所述部署所需要经历的具体环节;
目标节点模块,适用于根据所述发布信息中的目标环节,从所述全部流程节点中选择与所述目标环节相对应的目标流程节点;
执行模块,适用于顺序执行选定的所述流程节点。
8.根据权利要求7所述的项目部署装置,其特征在于,所述待执行的全部流程节点包括:提出申请、审批申请、执行部署、验收和环境同步;其中提出申请是指开发人员提出部署所述目标运行环境的申请,所述审批申请是指管理人员对所述申请进行审批,所述执行部署是指执行在所述目标运行环境下的项目部署,所述验收是对所述项目在所述目标运行环境下的运行情况的检查,所述环境同步是指将所述目标运行环境同步到容灾环境中。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534577.5A CN109814877A (zh) | 2018-12-14 | 2018-12-14 | 基于环境管理的项目部署方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534577.5A CN109814877A (zh) | 2018-12-14 | 2018-12-14 | 基于环境管理的项目部署方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109814877A true CN109814877A (zh) | 2019-05-28 |
Family
ID=66602049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534577.5A Pending CN109814877A (zh) | 2018-12-14 | 2018-12-14 | 基于环境管理的项目部署方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814877A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991981A (zh) * | 2019-10-25 | 2020-04-10 | 中国通信服务股份有限公司 | 一种研发云平台应用方法 |
CN111158655A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 软件运行环境的部署方法及装置 |
CN111221572A (zh) * | 2020-01-13 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 一种自动适配运行环境的方法、装置、介质和设备 |
CN111506341A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 一种软件配置信息检测方法、装置及系统 |
CN113360164A (zh) * | 2021-05-27 | 2021-09-07 | 上海信宝博通电子商务有限公司 | 快速部署应用的方法、装置及存储介质 |
CN113805546A (zh) * | 2021-09-15 | 2021-12-17 | 广州文远知行科技有限公司 | 一种模型的部署方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483572A (zh) * | 2017-08-08 | 2017-12-15 | 北京奇艺世纪科技有限公司 | 一种服务器的部署方法和装置 |
CN108111559A (zh) * | 2016-11-25 | 2018-06-01 | 新华三技术有限公司 | 一种应用软件部署系统及方法 |
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
-
2018
- 2018-12-14 CN CN201811534577.5A patent/CN109814877A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111559A (zh) * | 2016-11-25 | 2018-06-01 | 新华三技术有限公司 | 一种应用软件部署系统及方法 |
CN107483572A (zh) * | 2017-08-08 | 2017-12-15 | 北京奇艺世纪科技有限公司 | 一种服务器的部署方法和装置 |
CN108551487A (zh) * | 2018-04-26 | 2018-09-18 | Oppo广东移动通信有限公司 | PaaS平台的应用部署方法、装置、服务器及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991981A (zh) * | 2019-10-25 | 2020-04-10 | 中国通信服务股份有限公司 | 一种研发云平台应用方法 |
CN111158655A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 软件运行环境的部署方法及装置 |
CN111158655B (zh) * | 2019-12-31 | 2023-09-22 | 中国银行股份有限公司 | 软件运行环境的部署方法及装置 |
CN111221572A (zh) * | 2020-01-13 | 2020-06-02 | 北京字节跳动网络技术有限公司 | 一种自动适配运行环境的方法、装置、介质和设备 |
CN111221572B (zh) * | 2020-01-13 | 2023-09-01 | 北京字节跳动网络技术有限公司 | 一种自动适配运行环境的方法、装置、介质和设备 |
CN111506341A (zh) * | 2020-04-21 | 2020-08-07 | 北京同邦卓益科技有限公司 | 一种软件配置信息检测方法、装置及系统 |
CN111506341B (zh) * | 2020-04-21 | 2023-11-03 | 北京同邦卓益科技有限公司 | 一种软件配置信息检测方法、装置及系统 |
CN113360164A (zh) * | 2021-05-27 | 2021-09-07 | 上海信宝博通电子商务有限公司 | 快速部署应用的方法、装置及存储介质 |
CN113805546A (zh) * | 2021-09-15 | 2021-12-17 | 广州文远知行科技有限公司 | 一种模型的部署方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814877A (zh) | 基于环境管理的项目部署方法及其装置 | |
CN112073269B (zh) | 区块链网络测试方法、装置、服务器及存储介质 | |
CN104252481B (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN110377520B (zh) | 交易场景的测试方法及装置、电子设备和可读存储介质 | |
CN111857762A (zh) | 微服务更新系统 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN109901985B (zh) | 分布式测试装置及方法、存储介质和电子设备 | |
CN114064208A (zh) | 检测应用服务状态的方法、装置、电子设备及存储介质 | |
CN110795331A (zh) | 软件测试的方法和装置 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN107368330A (zh) | 客户端补丁修复方法、装置和系统 | |
CN113032256B (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN117724803A (zh) | 云服务部署方法、装置和平台 | |
CN114143235A (zh) | Nfv自动测试方法、装置、设备及存储介质 | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
CN116303106A (zh) | 一种适用金融行业的基于GitFlow软件版本快速回滚方法及系统 | |
CN115587048A (zh) | 回归测试方法、终端设备及计算机可读存储介质 | |
CN112596750B (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN114840429A (zh) | 识别版本冲突的方法、装置、设备、介质和程序产品 | |
CN114003316A (zh) | 集群定时任务执行方法、装置、电子设备及存储介质 | |
CN110928860B (zh) | 数据迁移方法和装置 | |
CN116467156A (zh) | 联调测试方法、装置、存储介质及电子设备 | |
CN110297625B (zh) | 应用的处理方法及装置 | |
US12039473B2 (en) | Software development project infrastructure builder tool | |
CN112988571B (zh) | 一种用于优化cc代码的自动化编译部署方法及系统 |
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 |