一种基于Knative的测试环境管理方法技术

技术编号:29672874 阅读:17 留言:0更新日期:2021-08-13 21:54
本发明专利技术公开了一种基于Knative的测试环境管理方法,该方法包括以下步骤:建立测试环境管理服务器;创建运行版本的服务平台;为开源版本管理系统的分支维护对应的服务版本;在开源版本管理系统中建立钩子函数;测试环境管理服务器根据外部请求做出反馈。有益效果:本发明专利技术为每个分支建立独立的测试环境,每个分支有独立的统一资源定位符,测试环境的更新是独立的,互不影响,方便对多个新开发的功能进行并行测试和联调,提高开发、联调效率,且基于Knative的测试环境管理方法,修改代码后不用重做镜像就可以验证修改效果,可以加速修改代码后的预览,节省等待时间,节省镜像中心机器资源,在测试环境管理场景下有明显优势。

【技术实现步骤摘要】
一种基于Knative的测试环境管理方法
本专利技术涉及测试环境管理领域,具体来说,涉及一种基于Knative的测试环境管理方法。
技术介绍
随着电信运营商数字化转型的不断发展,业务敏捷越来越依赖于应用的快速迭代,通过引入DevOps(Development和Operations的组合)理念帮助企业搭建持续交付的流水线,实现快速的价值交付。在持续交付的流程中开发是一个重要环节,开发环节一般采用拉多个Git(开源的分布式版本管理系统)分支的方式进行多特性并行开发,开发联调过程中,多个待测试联调的特性都需要更新到测试环境上,由于一般只有一套开发测试环境,所以经常遇到多个特性互相冲突的问题。如开发人员A正在联调特性A的功能,开发人员B却把特性B更新到了测试环境上,这样开发人员A的联调就会被中断;这种冲突浪费了大量的时间进行排查和协调,如何实现自动为多个特性维护独立的测试环境,做到多特性并行联调是我们需要解决的问题。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的问题,本专利技术提出一种基于Knative的测试环境管理方法,以克服现有相关技术所存在的上述技术问题。为此,本专利技术采用的具体技术方案如下:一种基于Knative的测试环境管理方法,该方法包括以下步骤:S1、建立测试环境管理服务器;S2、利用测试环境管理服务器创建运行版本的服务平台;S3、为开源版本管理系统的分支维护对应的服务版本;S4、在开源版本管理系统中建立钩子函数;S5、测试环境管理服务器根据外部请求做出反馈;所述服务版本对所述开源版本管理系统的分支维护独立的测试环境并提供统一的资源定位符,且所述服务版本管理的容器内设有业务进程管理模块,所述业务进程管理模块用于接收容器外发起的通知并执行维护测试环境的操作;所述维护测试环境的操作包括下载开源版本管理系统分支的代码、启动业务进程及更新业务进程加载更新代码。进一步的,所述S1中测试环境管理服务器包括解析模块、通知模块和平台管理模块;其中,所述解析模块用于处理开源版本管理系统钩子函数发起的请求;所述通知模块用于通知运行在业务容器中的业务进程管理模块执行业务进程管理操作;所述平台管理模块用于支持平台管理操作。进一步的,所述处理开源版本管理系统的钩子函数发起的请求包括对新增分支事件进行处理、删除分支事件及对更新代码事件进行处理。进一步的,所述对新增分支事件进行处理包括以下步骤:测试环境管理服务器的平台管理模块执行新增版本操作,并将开源版本管理系统地址、开源版本管理系统分支及事件类型设置为业务容器的环境变量;版本管理的业务容器启动后,内置的业务进程管理模块进行下载业务代码操作;业务进程管理模块根据预览类型判断是否进行编译;业务进程管理模块启动业务进程,监听指定的端口;版本创建完成后,提供本版本的统一资源定位符。进一步的,所述对更新代码事件进行处理包括以下步骤;测试环境管理服务器向版本管理的业务容器中的业务进程管理模块发起更新通知;业务进程管理模块接收到通知并进行分析反馈;业务进程管理模块从开源版本管理系统中拉取代码;业务进程管理模块根据业务代码的语言类型判断是否调用编译模块进行编译;业务进程管理模块管理业务进程,利用业务进程加载运行拉取的代码。进一步的,所述S5中测试环境管理服务器根据外部请求做出反馈包括以下步骤:S51、测试环境管理服务器收到外部请求后,解析出开源版本管理系统地址、开源版本管理系统分支名及事件类型;S52、测试环境管理服务器根据开源版本管理系统地址及分支获取服务平台及版本;S53、测试环境管理服务器根据事件类型对测试环境执行适应性操作。进一步的,所述S53中测试环境管理服务器根据事件类型对测试环境执行适应性操作包括新增测试环境、删除测试环境及更新测试环境;其中,所述新增测试环境为在服务平台上新增版本,所述删除测试环境为在服务平台上删除版本,所述更新测试环境为通知服务平台运行的业务容器加载运行相适应的开源版本管理系统分支更新的代码。本专利技术的有益效果为:(1)、本专利技术为每个分支建立独立的测试环境,每个分支有独立的统一资源定位符,测试环境的更新是独立的,互不影响,不会出现多个新特性的更新冲突的情况,方便对多个新开发的功能进行并行测试和联调,提高开发、联调效率,在测试环境管理场景下,有明显优势。(2)、传统方式更新测试环境需要重做镜像,镜像生成后需要传到镜像仓库才能被使用,耗时较长,导致一次修改需要数分钟才能预览到效果,效率较差,本专利技术提供的方法可以做到秒级预览,大幅提高开发、联调效率,且本专利技术测试环境的建立、更新、删除是自动化的,速度快,且节省人力成本。(3)、开发联调过程中需要多次修改,需要生成多个镜像,占用了大量的存储空间,本专利技术提供的方法可以避免联调过程中多次生成镜像,节约镜像仓库存储空间。(4)、Knative的Revision可以自动、独立的扩缩容,根据请求流量增加、减少容器实例,长时间不用的时候实例数缩容到零,不会多占用机器资源。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的一种基于Knative的测试环境管理方法的流程示意图;图2是根据本专利技术实施例的一种基于Knative的测试环境管理方法的系统图;图3是根据本专利技术实施例的一种基于Knative的测试环境管理方法中Githook发起请求的处理流程图。具体实施方式为进一步说明各实施例,本专利技术提供有附图,这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。根据本专利技术的实施例,提供了一种基于Knative的测试环境管理方法。现结合附图和具体实施方式对本专利技术进一步说明,如图1-3所示,根据本专利技术实施例的基于Knative的测试环境管理方法,该方法包括以下步骤:S1、建立测试环境管理服务器;S2、利用测试环境管理服务器创建运行版本的服务平台;S3、为开源版本管理系统的分支维护对应的服务版本;S4、在开源版本管理系统中建立钩子函数;S5、测试环境管理服务器根据外部请求做出反馈;在一个实施例中,所述S1中测试环境管理服务器包括解析模块、通知模块和平台管理模块;其中,所述解析模块用于处理开源版本管理系统钩子函数发起的请求;所述本文档来自技高网...

【技术保护点】
1.一种基于Knative的测试环境管理方法,其特征在于,该方法包括以下步骤:/nS1、建立测试环境管理服务器;/nS2、利用测试环境管理服务器创建运行版本的服务平台;/nS3、为开源版本管理系统的分支维护对应的服务版本;/nS4、在开源版本管理系统中建立钩子函数;/nS5、测试环境管理服务器根据外部请求做出反馈;/n所述服务版本对所述开源版本管理系统的分支维护独立的测试环境并提供统一的资源定位符,且所述服务版本管理的容器内设有业务进程管理模块,所述业务进程管理模块用于接收容器外发起的通知并执行维护测试环境的操作;/n所述维护测试环境的操作包括下载开源版本管理系统分支的代码、启动业务进程及更新业务进程加载更新代码。/n

【技术特征摘要】
1.一种基于Knative的测试环境管理方法,其特征在于,该方法包括以下步骤:
S1、建立测试环境管理服务器;
S2、利用测试环境管理服务器创建运行版本的服务平台;
S3、为开源版本管理系统的分支维护对应的服务版本;
S4、在开源版本管理系统中建立钩子函数;
S5、测试环境管理服务器根据外部请求做出反馈;
所述服务版本对所述开源版本管理系统的分支维护独立的测试环境并提供统一的资源定位符,且所述服务版本管理的容器内设有业务进程管理模块,所述业务进程管理模块用于接收容器外发起的通知并执行维护测试环境的操作;
所述维护测试环境的操作包括下载开源版本管理系统分支的代码、启动业务进程及更新业务进程加载更新代码。


2.根据权利要求1所述的一种基于Knative的测试环境管理方法,其特征在于,所述S1中测试环境管理服务器包括解析模块、通知模块和平台管理模块;
其中,所述解析模块用于处理开源版本管理系统钩子函数发起的请求;
所述通知模块用于通知运行在业务容器中的业务进程管理模块执行业务进程管理操作;
所述平台管理模块用于支持平台管理操作。


3.根据权利要求2所述的一种基于Knative的测试环境管理方法,其特征在于,所述处理开源版本管理系统的钩子函数发起的请求包括对新增分支事件进行处理、删除分支事件及对更新代码事件进行处理。


4.根据权利要求3所述的一种基于Knative的测试环境管理方法,其特征在于,所述对新增分支事件进行处理包括以下步骤:
测试环境管理服务器的平台管理模块执行新增版本操作,并将开源版本管理系统地址、开源版本管理系统分支及事件类型设置为业务容器的环境变量;
版本管...

【专利技术属性】
技术研发人员:陈前进刘启铨
申请(专利权)人:浩鲸云计算科技股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1