一种版本同步的方法、gitlab服务器及测试服务器技术

技术编号:32428378 阅读:16 留言:0更新日期:2022-02-24 18:32
本申请适用于计算机技术领域,提供了版本同步的方法,包括:gitlab服务器部署在内部局域网,所述gitlab服务器设置有gitlab仓库,当所述gitlab仓库接收到版本更新指令时,获取所述版本更新指令中包括的所版本信息和版本内容;调用所述gitlab仓库中的第一预设钩子脚本将所述版本信息推送至测试环境裸仓库;当检测到所述第二预设钩子脚本被触发时,将所述版本内容推送至所述测试环境仓库。上述方案,gitlab服务器部署在内部局域网,gitlab仓库可以汇总所有的版本信息和版本内容,将版本管理内网化,使得版本管理更加的安全。同时,通过两个预设钩子脚本实现了版本的同步,实现了自动化推送,使得测试服务器上可以汇总所有的版本信息和版本内容,进一步增强了版本管理的安全性。性。性。

【技术实现步骤摘要】
一种版本同步的方法、gitlab服务器及测试服务器


[0001]本申请属于计算机
,尤其涉及一种版本同步的方法、gitlab服务器及测试服务器。

技术介绍

[0002]在项目开发中,为了实现代码的同步,进行版本管理,会使用版本控制管理系统。目前较为流行的开源版本控制管理系统有git。git可以让开发团队更为高效的协同工作,从而提高生产力。现有的版本同步方法是利用第三方git托管平台的协作方法,实现了代码的同步。但是,这种方法依赖于第三方git托管平台,并且只在第三方git托管平台上部署了一个项目汇总仓库。当第三方的仓库出现问题或者被误删除时,就丢失了完整的项目汇总版本。也就是说,现有的版本同步方法项目的安全性较低,并且无法完全做到企业信息内部化。

技术实现思路

[0003]本申请实施例提供了一种版本同步的方法、gitlab服务器及测试服务器,可以解决现有的版本同步方法项目的安全性较低,并且无法完全做到企业信息内部化的问题。
[0004]第一方面,本申请实施例提供了一种版本同步的方法应用于gitlab服务器,所述gitlab服务器部署在内部局域网,所述gitlab服务器设置有gitlab仓库,所述方法包括:
[0005]当所述gitlab仓库接收到版本更新指令时,获取所述版本更新指令中包括的所版本信息和版本内容;所述版本更新指令由本地仓库推送,所述本地仓库部署在内部局域网的开发服务器上;
[0006]调用所述gitlab仓库中的第一预设钩子脚本将所述版本信息推送至测试环境裸仓库;所述版本信息用于触发所述测试环境裸仓库的第二预设钩子脚本,所述测试环境裸仓库和测试环境仓库部署在内部公网的测试服务器上;
[0007]当检测到所述第二预设钩子脚本被触发时,将所述版本内容推送至所述测试环境仓库。
[0008]进一步地,所述版本内容包括整体项目内容或者项目分支内容。
[0009]进一步地,在所述调用所述gitlab仓库中的第一预设钩子脚本将所述版本信息推送至测试环境裸仓库之前,还包括:
[0010]当检测到第一钩子脚本创建指令时,根据所述第一钩子脚本创建指令创建第一预设钩子脚本,并且设置所述第一预设钩子脚本的执行权限。
[0011]第二方面,本申请实施例提供了一种版本同步的方法,应用于测试服务器,所述测试服务器部署在内部公网上,所述测试服务器设置有测试环境裸仓库和测试环境仓库,所述方法包括:
[0012]当所述测试环境裸仓库接收到gitlab仓库通过第一预设钩子脚本推送的版本信息时,运行所述测试环境裸仓库中的第二预设钩子脚本;所述第二预设钩子脚本用于指示
所述gitlab仓库推送与所述版本信息对应的版本内容,所述gitlab仓库部署在内部局域网的gitlab服务器上;
[0013]通过测试环境仓库接收由所述gitlab仓库推送的版本内容。
[0014]进一步地,在所述通过测试环境仓库接收由所述gitlab仓库推送的版本内容之后,还包括:
[0015]当接收到由生产环境仓库发送的拉取指令时,将所述版本信息和所述版本内容推送至所述生产环境仓库,所述生产环境仓库部署在内部公网的生产环境服务器上。
[0016]进一步地,在所述当所述测试环境裸仓库接收到gitlab仓库通过第一预设钩子脚本推送的版本信息时,运行所述测试环境裸仓库中的第二预设钩子脚本之前,还包括:
[0017]当检测到第二钩子脚本创建指令时,根据所述第二钩子脚本创建指令创建第二预设钩子脚本,并且设置所述第二预设钩子脚本的执行权限。
[0018]第三方面,本申请实施例提供了一种gitlab服务器,所述gitlab服务器部署在内部局域网,所述gitlab服务器设置有gitlab仓库,所述gitlab服务器包括:
[0019]第一处理单元,用于当所述gitlab仓库接收到版本更新指令时,获取所述版本更新指令中包括的所版本信息和版本内容;所述版本更新指令由本地仓库推送,所述本地仓库部署在内部局域网的开发服务器上;
[0020]第二处理单元,用于调用所述gitlab仓库中的第一预设钩子脚本将所述版本信息推送至测试环境裸仓库;所述版本信息用于触发所述测试环境裸仓库的第二预设钩子脚本,所述测试环境裸仓库和测试环境仓库部署在内部公网的测试服务器上;
[0021]第三处理单元,用于当检测到所述第二预设钩子脚本被触发时,将所述版本内容推送至所述测试环境仓库。
[0022]进一步地,所述版本内容包括整体项目内容或者项目分支内容。
[0023]进一步地,所述gitlab服务器,还包括:
[0024]第四处理单元,用于当检测到第一钩子脚本创建指令时,根据所述第一钩子脚本创建指令创建第一预设钩子脚本,并且设置所述第一预设钩子脚本的执行权限。
[0025]第四方面,本申请实施例提供了一种测试服务器,所述测试服务器部署在内部公网上,所述测试服务器设置有测试环境裸仓库和测试环境仓库,所述测试服务器包括:
[0026]第五处理单元,用于当所述测试环境裸仓库接收到gitlab仓库通过第一预设钩子脚本推送的版本信息时,运行所述测试环境裸仓库中的第二预设钩子脚本;所述第二预设钩子脚本用于指示所述gitlab仓库推送与所述版本信息对应的版本内容,所述gitlab仓库部署在内部局域网的gitlab服务器上;
[0027]第六处理单元,用于通过测试环境仓库接收由所述gitlab仓库推送的版本内容。
[0028]进一步地,所述测试服务器,还包括:
[0029]第七处理单元,用于当接收到由生产环境仓库发送的拉取指令时,将所述版本信息和所述版本内容推送至所述生产环境仓库,所述生产环境仓库部署在内部公网的生产环境服务器上。
[0030]进一步地,所述测试服务器,还包括:
[0031]第八处理单元,用于当检测到第二钩子脚本创建指令时,根据所述第二钩子脚本创建指令创建第二预设钩子脚本,并且设置所述第二预设钩子脚本的执行权限。
[0032]第五方面,本申请实施例提供了一种gitlab服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的版本同步的方法。
[0033]第六方面,本申请实施例提供了一种测试服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面所述的版本同步的方法。
[0034]第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的版本同步的方法。
[0035]第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面所述的版本同步的方法。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种版本同步的方法,其特征在于,应用于gitlab服务器,所述gitlab服务器部署在内部局域网,所述gitlab服务器设置有gitlab仓库,所述方法包括:当所述gitlab仓库接收到版本更新指令时,获取所述版本更新指令中包括的所版本信息和版本内容;所述版本更新指令由本地仓库推送,所述本地仓库部署在内部局域网的开发服务器上;调用所述gitlab仓库中的第一预设钩子脚本将所述版本信息推送至测试环境裸仓库;所述版本信息用于触发所述测试环境裸仓库的第二预设钩子脚本,所述测试环境裸仓库和测试环境仓库部署在内部公网的测试服务器上;当检测到所述第二预设钩子脚本被触发时,将所述版本内容推送至所述测试环境仓库。2.如权利要求1所述的版本同步的方法,其特征在于,所述版本内容包括整体项目内容或者项目分支内容。3.如权利要求1所述的版本同步的方法,其特征在于,在所述调用所述gitlab仓库中的第一预设钩子脚本将所述版本信息推送至测试环境裸仓库之前,还包括:当检测到第一钩子脚本创建指令时,根据所述第一钩子脚本创建指令创建第一预设钩子脚本,并且设置所述第一预设钩子脚本的执行权限。4.一种版本同步的方法,其特征在于,应用于测试服务器,所述测试服务器部署在内部公网上,所述测试服务器设置有测试环境裸仓库和测试环境仓库,所述方法包括:当所述测试环境裸仓库接收到gitlab仓库通过第一预设钩子脚本推送的版本信息时,运行所述测试环境裸仓库中的第二预设钩子脚本;所述第二预设钩子脚本用于指示所述gitlab仓库推送与所述版本信息对应的版本内容,所述gitlab仓库部署在...

【专利技术属性】
技术研发人员:汤恋吕健
申请(专利权)人:深圳市天英联合教育股份有限公司
类型:发明
国别省市:

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

1