多服务器代码灰度发布方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32798951 阅读:45 留言:0更新日期:2022-03-23 20:03
本发明专利技术涉及计算机技术,揭露一种多服务器代码灰度发布方法,包括:对待发布代码进行运行测试,在待发布代码通过测试时,计算待发布代码的代码标识;根据代码标识在服务器数据库中提取线上服务器名单;获取灰度发布规则,根据灰度发布规则及线上服务器名单生成灰度服务器名单;根据灰度服务器名单判断待检测服务器是否为灰度服务器;当待检测服务器为灰度服务器时,将待发布代码上传至待检测服务器所对应的回归机,利用回归机对待发布代码进行回归测试;当回归测试成功时,在待检测服务器上部署待发布代码。本发明专利技术还提出一种多服务器代码灰度发布装置、设备以及介质。本发明专利技术可以解决难以有效控制代码的安全发布以及代码发布后运行稳定性低的问题。运行稳定性低的问题。运行稳定性低的问题。

【技术实现步骤摘要】
多服务器代码灰度发布方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种多服务器代码灰度发布方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]开发端的工程师开发完毕的代码部署至服务器运行的过程,称之为代码发布,通过代码发布才能间接的为用户提供服务。代码开发时所使用的机器称为开发机,运行代码并为用户提供服务的服务器称为线上服务器。因此代码发布这个应用场景可以抽象为:将程序代码从开发机拷贝到线上服务器。
[0003]传统的代码发布过程为复制、粘贴,或者通过编写脚本,对所有服务器执行拷贝工作,但是这种发布方式效率较低,且代码发布后直接使用,如果代码存在漏洞,会直接影响用户的使用;除此之外,还可以利用构建发布任务,调取源码,实现代码预发布,但是依然存在难以有效控制代码的安全发布以及代码发布后运行稳定性的问题。

技术实现思路

[0004]本专利技术提供一种多服务器代码灰度发布方法、装置及计算机可读存储介质,其主要目的在于解决难以有效控制代码的安全发布以及代码发布后运行稳定性低的问题。
[0005]为实现上述目的,本专利技术提供的一种多服务器代码灰度发布方法,包括:获取待发布代码,对所述待发布代码进行运行测试,在所述待发布代码通过测试时,计算所述待发布代码的代码标识;根据所述代码标识在预构建的服务器数据库中提取线上服务器名单;获取灰度发布规则,根据所述灰度发布规则及所述线上服务器名单生成灰度服务器名单;获取待检测服务器,根据所述灰度服务器名单判断所述待检测服务器是否为灰度服务器;当所述待检测服务器为灰度服务器时,将所述待发布代码上传至所述待检测服务器所对应的回归机,并利用所述回归机对所述待发布代码进行回归测试;当所述待发布代码回归测试成功时,在所述待检测服务器上部署所述待发布代码。
[0006]可选地,所述对所述待发布代码进行运行测试,在所述待发布代码通过测试时,计算所述待发布代码的代码标识,包括:获取所述待发布代码的代码文本,并对所述代码文本执行第一次运行测试,得到第一测试结果;将所述代码文本插入预设项目位置执行第二次运行测试,得到第二测试结果;当所述第一测试结果及第二测试结果均通过时,根据所述代码文本的摘要生成MD5值,并将所述MD5值作为所述待发布代码的代码标识。
[0007]可选地,所述根据所述灰度发布规则及所述线上服务器名单生成灰度服务器名单,包括:获取所述灰度发布规则中的服务器判定属性,提取所述线上服务器名单中每一个服务器对应的服务器属性;根据所述服务器判定属性在所述每一个服务器对应的服务器属性中进行筛选;将筛选出的服务器判定属性对应的服务器作为灰度服务器,并汇总所述灰度服务器,生成灰度服务器名单。
[0008]可选地,所述将所述待发布代码上传至所述待检测服务器所对应的回归机,包括:获取所述待发布代码的代码版本,并根据所述代码版本在预设的开发机数据库中提取原始代码;判断是否能够在所述回归机中检索到所述原始代码;若不能检索所述原始代码,则将所述待发布代码上传至所述回归机;若能够检索所述原始代码,则将所述原始代码与所述待发布代码进行代码比对,根据比对结果判断所述原始代码与所述待发布代码是否存在差异;若所述原始代码与所述待发布代码不存在差异,则继续使用所述原始代码;若所述原始代码与所述待发布代码存在差异,则利用所述待发布代码更新所述回归机中的所述原始代码。
[0009]可选地,所述将所述原始代码与所述待发布代码进行代码比对,包括:调用diff命令,并对所述原始代码与所述待发布代码执行diff命令,得到执行结果;利用预设的超文本处理工具对所述执行结果进行文本处理,得到文本比对结果。
[0010]可选地,所述利用所述回归机对所述待发布代码进行回归测试,包括:根据代码比对结果确定所述待发布代码相对于所述原始代码的增量代码函数清单;根据所述增量代码函数清单生成代码路径,并根据所述代码路径从预设的回归测试库中提取历史回归测试案例;根据所述回归测试案例对所述待发布代码进行测试。
[0011]可选地,所述在所述待检测服务器上部署所述待发布代码,包括:获取所述待发布代码的上传路径,并将所述上传路径软链接至所述待检测服务器;利用所述待检测服务器加载所述待发布代码,完成代码发布。
[0012]为了解决上述问题,本专利技术还提供一种多服务器代码灰度发布装置,所述装置包括:运行测试模块,用于获取待发布代码,对所述待发布代码进行运行测试,在所述待发布代码通过测试时,计算所述待发布代码的代码标识;线上服务器名单生成模块,用于根据所述代码标识在预构建的服务器数据库中提取线上服务器名单;灰度服务器名单生成模块,用于获取灰度发布规则,根据所述灰度发布规则及所述线上服务器名单生成灰度服务器名单;
灰度服务器验证模块,用于获取待检测服务器,根据所述灰度服务器名单判断所述待检测服务器是否为灰度服务器;回归测试模块,用于当所述待检测服务器为灰度服务器时,将所述待发布代码上传至所述待检测服务器所对应的回归机,并利用所述回归机对所述待发布代码进行回归测试;待发布代码部署模块,用于当所述待发布代码回归测试成功时,在所述待检测服务器上部署所述待发布代码。
[0013]为了解决上述问题,本专利技术还提供一种电子设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的多服务器代码灰度发布方法。
[0014]为了解决上述问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的多服务器代码灰度发布方法。
[0015]本专利技术实施例通过对待发布代码进行运行测试以及回归测试两方面的代码测试,并在测试完成后,才可以提取线上服务器名单以及将待发布代码同步至线上服务器,提高了代码发布的安全性;通过灰度发布规则,实现批量对线上服务器进行灰度发布,有限避免了有漏洞和隐患的代码直接全部上线,提高了代码发布后运行稳定性。因此本专利技术提出的多服务器代码灰度发布方法、装置、电子设备及计算机可读存储介质,可以解决难以有效控制代码的安全发布以及代码发布后运行稳定性低的问题。
附图说明
[0016]图1为本专利技术一实施例提供的多服务器代码灰度发布方法的流程示意图;图2为本专利技术一实施例提供的生成代码标识的流程示意图;图3为本专利技术一实施例提供的生成灰度服务器名单的流程示意图;图4为本专利技术一实施例提供的多服务器代码灰度发布装置的功能模块图;图5为本专利技术一实施例提供的实现所述多服务器代码灰度发布方法的电子设备的结构示意图。
[0017]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0018]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多服务器代码灰度发布方法,其特征在于,所述方法包括:获取待发布代码,对所述待发布代码进行运行测试,在所述待发布代码通过测试时,计算所述待发布代码的代码标识;根据所述代码标识在预构建的服务器数据库中提取线上服务器名单;获取灰度发布规则,根据所述灰度发布规则及所述线上服务器名单生成灰度服务器名单;获取待检测服务器,根据所述灰度服务器名单判断所述待检测服务器是否为灰度服务器;当所述待检测服务器为灰度服务器时,将所述待发布代码上传至所述待检测服务器所对应的回归机,并利用所述回归机对所述待发布代码进行回归测试;当所述待发布代码回归测试成功时,在所述待检测服务器上部署所述待发布代码。2.如权利要求1所述的多服务器代码灰度发布方法,其特征在于,所述对所述待发布代码进行运行测试,在所述待发布代码通过测试时,计算所述待发布代码的代码标识,包括:获取所述待发布代码的代码文本,并对所述代码文本执行第一次运行测试,得到第一测试结果;将所述代码文本插入预设项目位置执行第二次运行测试,得到第二测试结果;当所述第一测试结果及第二测试结果均通过时,根据所述代码文本的摘要生成MD5值,并将所述MD5值作为所述待发布代码的代码标识。3.如权利要求1所述的多服务器代码灰度发布方法,其特征在于,所述根据所述灰度发布规则及所述线上服务器名单生成灰度服务器名单,包括:获取所述灰度发布规则中的服务器判定属性,提取所述线上服务器名单中每一个服务器对应的服务器属性;根据所述服务器判定属性在所述每一个服务器对应的服务器属性中进行筛选;将筛选出的服务器判定属性对应的服务器作为灰度服务器,并汇总所述灰度服务器,生成灰度服务器名单。4.如权利要求1所述的多服务器代码灰度发布方法,其特征在于,所述将所述待发布代码上传至所述待检测服务器所对应的回归机,包括:获取所述待发布代码的代码版本,并根据所述代码版本在预设的开发机数据库中提取原始代码;判断是否能够在所述回归机中检索到所述原始代码;若不能检索所述原始代码,则将所述待发布代码上传至所述回归机;若能够检索所述原始代码,则将所述原始代码与所述待发布代码进行代码比对,根据比对结果判断所述原始代码与所述待发布代码是否存在差异;若所述原始代码与所述待发布代码不存在差异,则继续使用所述原始代码;若所述原始代码与所述待发布代码存在差异,则利用所述待发布代码更新所述回归机中的所述原始代码。5.如权利要求4所述...

【专利技术属性】
技术研发人员:刘勇
申请(专利权)人:深圳市秦丝科技有限公司
类型:发明
国别省市:

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

1