掌桥专利:专业的专利平台
掌桥专利
首页

一种快速创建多分支测试环境的方法和系统

文献发布时间:2024-04-18 19:58:30


一种快速创建多分支测试环境的方法和系统

技术领域

本发明涉及流程自动化技术领域,尤其涉及一种快速创建多分支测试环境的方法和系统。

背景技术

现有技术中,开发人员在进行测试时需要一定的测试资源,一个企业的测试项目不止一个,测试时,虚拟机一次只能使用一个快照分支,如果每个测试单独申请虚拟机资源,显著增加成本,而且让有的未使用的虚拟机空置,造成资源浪费。因此,开发人员需要测试时,便会和运维人员沟通,运维人员一部分时间都花在给开发人员创建虚拟机和资源分配和沟通上,这就无形的占用了一部分工作量,使得效率低下,真正花在公司服务器架构涉及高可用方案的少之又少。

发明内容

基于上述问题,本发明提供一种快速创建多分支测试环境的方法和系统,目的在于提高对虚拟机快照管理的效率。

一种快速创建多分支测试环境的方法,同一台虚拟机下的一个快照形成一个分支,包括:

步骤A1,发送在目标虚拟机创建新的快照的第一请求;

步骤A2,基于第一请求查询目标虚拟机当前是否存在正在运行的快照;

若是,执行步骤A3;

若否,执行步骤A5;

步骤A3,根据正在运行的快照形成待确认的第一工单,并产生第一通知消息至第一目标人员;

步骤A4,当第一工单被确认之后,关闭正在运行的快照,继续步骤A5;

步骤A5,新建目标虚拟机的基础快照;

步骤A6,对基础快照部署公共服务,完成新的快照创建。

进一步的,在步骤A2中,当基于第一请求并未查询到目标虚拟机时,执行步骤A6;

步骤A6,发起新建虚拟机的第二请求;

步骤A7,基于第二请求新建虚拟机,以作为目标虚拟机,继续执行步骤A5。

进一步的,步骤A6包括:

步骤A61,获取公共服务的资源列表;

步骤A62,按照资源列表安装公共服务;

步骤A63,检查安装后的公共服务是否可用:

若否,执行步骤A64;

若是,执行步骤A65;

步骤A64,生成第二工单,并产生第二通知消息至第二目标人员;

步骤A65,完成公共服务部署,完成新的快照创建。

进一步的,第一请求包含目标虚拟机的名称;

步骤A2包括:

步骤A21,根据目标虚拟机的名称查询目标虚拟机最近一次使用的快照;

步骤A22,查看最近一次使用的快照关联的状态文件内的状态关键字:

若状态关键字为表示快照正在运行的第一内容时,执行步骤A3;

若状态关键字表示为快照已关闭的第二内容时,执行步骤A5。

进一步的,在步骤A4中,关闭正在运行的快照的过程包括:

将正在运行的快照关联的状态文件内的状态关键字修改成第二内容,之后关闭正在运行的快照。

一种快速创建多分支测试环境的系统,用于执行前述的一种快速创建多分支测试环境的方法,包括:

代码管理模块,用于发送在目标虚拟机创建新的快照的第一请求;

快照处理模块,连接代码管理模块和虚拟化管理模块,用于基于第一请求查询目标虚拟机是否存在正在运行的快照,得到查询结果;

信息产生模块,连接快照处理模块,用于当查询结果为存在正在运行的快照时,根据正在运行的快照形成待确认的第一工单,并产生第一通知消息至第一目标人员;

快照处理模块还用于:当查询结果不存在运行的快照时,产生新建目标虚拟机的基础快照的第三请求;

虚拟化管理模块还用于:根据第三请求,新建目标虚拟机的基础快照;公共服务处理模块,连接虚拟化管理模块,用于对基础快照部署公共服务,完成新的快照创建。

进一步的,快照处理模块,还用于:当查询结果为未查询到目标虚拟机时,发起新建虚拟机的第二请求;

虚拟化管理模块用于基于第二请求新建虚拟机,以作为目标虚拟机。

进一步的,还包括:

公共服务处理模块,用于执行:获取公共服务的资源列表,并按照列表安装公共服务;

检查模块,连接虚拟化管理模块,用于通过启用安装后的公共服务的方式检查安装后的公共服务是否可用,得到检查结果;

信息产生模块,还连接检查模块,用于当检查结果为公共服务不可用时,生成第二工单,并产生第二通知消息至第二目标人员。

本发明的有益技术效果在于:本发明便于开发人员在建立分支的时候自动创建虚拟机快照,将日常琐碎的虚拟机快照创建等自动化,提高创建效率,节省时间。

附图说明

图1-4为本发明一种快速创建多分支测试环境的方法的步骤流程图;

图1-5为本发明一种快速创建多分支测试环境的系统的模块示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

参见图1,本发明提供一种快速创建多分支测试环境的方法,同一台虚拟机下的一个快照形成一个分支,包括:

步骤A1,发送在目标虚拟机创建新的快照的第一请求;

步骤A2,基于第一请求查询目标虚拟机当前是否存在正在运行的快照;

若是,执行步骤A3;

若否,执行步骤A5;

步骤A3,根据正在运行的快照形成待确认的第一工单,并产生第一通知消息至第一目标人员;

步骤A4,当第一工单被确认之后,关闭正在运行的快照,继续步骤A5;

步骤A5,新建目标虚拟机的基础快照;

步骤A6,对基础快照部署公共服务,完成新的快照创建。

虚拟机快照功能是为虚拟机保存某一时刻的状态,它可以用作系统的还原点,也可以用作虚拟机的备份、模板、克隆等。虚拟机快照功能在生产、测试、研发等很多领域都得到了广泛的用途。使用本发明,在建立分支的时候自动创建虚拟机基础快照并完成公共服务部署,快速生成测试环境,并且首先查询已有的虚拟机资源情况,而不是一开始单独创建虚拟机资源,彻底告别了测试环境资源不够,资源浪费的情况,有启用的快照先产生工单,通知确认,减少传统中运维和开发之间因为创建新的分支时的沟通,提高了工作效率。

参见图2,进一步的,第一请求包含目标虚拟机的名称;

步骤A2包括:

步骤A21,根据目标虚拟机的名称查询目标虚拟机最近一次使用的快照;

步骤A22,查看最近一次使用的快照关联的状态文件内的状态关键字:

若状态关键字为表示快照正在运行的第一内容时,执行步骤A3;

若状态关键字表示为快照已关闭的第二内容时,执行步骤A5。

具体的,状态文件内为status文件。第一内容为on,第二内容为off。

进一步的,在步骤A4中,关闭正在运行的快照的过程包括:

将正在运行的快照关联的状态文件内的状态关键字修改成第二内容,之后关闭正在运行的快照。

参见图3,进一步的,步骤A6包括:

步骤A61,获取公共服务的资源列表;

步骤A62,按照资源列表安装公共服务;

步骤A63,检查安装后的公共服务是否可用:

若否,执行步骤A64;

若是,执行步骤A65;

步骤A64,生成第二工单,并产生第二通知消息至第二目标人员;

步骤A65,完成公共服务部署,完成新的快照创建。

具体的,开发人员在新建快照分支的时候,编辑好gitlab-ci.yaml配置文件,确定目标虚拟机的名称,快照处理模块的请求地址以及公共服务的资源列表。

通过gitlab ci/cd向快照处理模块发起第一请求。快照处理模块根据第一请求向虚拟化管理模块的接口ovirt-api发送查询目标虚拟机的最近一次使用的快照名称,获取最近一次使用的快照名称之后,使用这个最近一次使用的快照名发起状态查看请求,查看目标虚拟机这个当前最近一次使用的快照分支关联的status文件内的状态关键字,如果为off,表明快照已关闭没有运行,向ovirt-api发起创建基础快照的请求。如果状态不是off,是on,表示当前关联的快照正在运行,则产生第一工单,以及第一通知消息,第一通知消息通知开发人员处理,开发人员收到第一通知消息,登录工单系统查看工单,如果开发人员没有点击确认工单,则中止创建新快照,如果开发人员点击确认工单,快照处理模块会向gitlab api发起请求将status文件中的状态关键字改成第二内容,并触发gitlab ci/cd关闭目标虚拟机当前运行的快照,之后向ovirt-api发起创建基础快照的请求。关闭快照时,通过gitlab在status文件中添加第二内容,跑一下ci/cd即可完成快照关闭。开启快照时,通过gitlab在status文件中添加第一内容,跑一下ci/cd即可完成快照开启。同一个虚拟机只能同时开启一个快照,如果原来有正在运行的快照,产生第一工单确认后关闭正在运行的快照,然后开启新的快照。第一目标人员为开发人员。第二目标人员为运维人员。从开发人员的角度来说,使得开发人员可以全心全意的投入到代码开发中来,减少了和运维人员沟通,通过快照自动生成环境使得开发的效率大大提高,从运维人员的角度来说,使得运维人员从日常繁琐的创建虚拟机、分配资源部署应用的日常繁琐且反复的工作中解放出来,同样也减少了和开发人员的沟通上造成工作效率的降低,让相关人员把时间用在对公司更有价值的地方。

进一步的,第一通知消息和第二通知消息均可以通过钉钉通知。

参见图4,进一步的,在步骤A2中,当基于第一请求并未查询到目标虚拟机时,执行步骤A7;

步骤A7,发起新建虚拟机的第二请求;

步骤A8,基于第二请求新建虚拟机,以作为目标虚拟机,继续执行步骤A5。

快照处理模块向ovirt-api接口发起新建虚拟机的第二请求。虚拟化管理模块根据虚拟机模板新建虚拟机,建立好虚拟机之后,向ovirt-api发起创建基础快照的请求。基础快照创建后,向公共服务处理模块发起初始化公共服务的请求,完成对快照的创建。

具体的,在进行公共服务部署时,从gitlab端获取以资源列表形式展现的公共服务,通过yum的方式按照资源列表安装公共服务,然后通过wget方式公共服务的基线配置文件放置到各公共服务的指定目录中,之后启用服务检查服务的可用性。

参见图5,本发明还提供一种快速创建多分支测试环境的系统,用于执行前述的一种快速创建多分支测试环境的方法,包括:

代码管理模块(1),用于发送在目标虚拟机创建新的快照的第一请求;

快照处理模块(2),连接代码管理模块(1)和虚拟化管理模块(3),用于基于第一请求查询目标虚拟机是否存在正在运行的快照,得到查询结果;

信息产生模块(4),连接快照处理模块(2),用于当查询结果为存在正在运行的快照时,根据正在运行的快照形成待确认的第一工单,并产生第一通知消息至第一目标人员;

快照处理模块(2)还用于:当查询结果不存在运行的快照时,产生新建目标虚拟机的基础快照的第三请求;

虚拟化管理模块(3)还用于:根据第三请求,新建目标虚拟机的基础快照;

公共服务处理模块,连接虚拟化管理模块,用于对基础快照部署公共服务,完成新的快照创建。

具体的,代码管理模块(1)为gitlab平台。虚拟化管理模块(3)为ovirt平台。

进一步的,快照处理模块(2)还用于:当查询结果为未查询到目标虚拟机时,发起新建虚拟机的第二请求;

虚拟化管理模块(3)用于基于第二请求新建虚拟机,以作为目标虚拟机。

进一步的,还包括:

公共服务处理模块(5),连接代码管理模块(1)和虚拟化管理模块(3),用于执行:获取公共服务的资源列表,并按照列表安装公共服务;

检查模块(6),连接虚拟化管理模块(5),用于通过启用安装后的公共服务的方式检查安装后的公共服务是否可用,得到检查结果;

信息产生模块(4),还连接检查模块(6),用于当检查结果为公共服务不可用时,生成第二工单,并产生第二通知消息至第二目标人员。

以上仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

相关技术
  • 一种基于MCS存储系统快速创建缓存池的方法
  • 一种测试环境构建方法和系统
  • 一种测试环境的创建方法及系统
  • 一种自动创建分支的系统及方法
技术分类

06120116498547