Gitlab-从/到云服务器的自动同步/复制本地服务器

时间:2018-12-19 09:28:37

标签: git automation gitlab devops

我有2个Gitlab服务器:

服务器 A ,该服务器在云上运行,可从https://git.example.com

访问

服务器 B ,该服务器在本地网络上运行,并且只能由本地计算机通过IP地址或伪造域进行访问,该IP地址或伪造域可以在本地重定向http://local.git(DNS欺骗)

如何使两个git服务器 A B 镜像/同步/复制到以下位置:

  
      
  • 服务器 B 将自动将所有本地工作/更改推送到服务器 A
  •   
     

之后(或之前)

     
      
  • 服务器 B 将检查服务器 A 是否存在任何回购差异,并确保两者均已100%同步-换句话说,服务器 B 会将更改从服务器 A 中拉出,因为有些人可能会从此本地网络外部将更改直接推到服务器 A 中。
  •   

我认为优先级无关紧要,因为最后两台服务器都将100%相同-抱歉,我不是开发人员(或者经常使用git),而是更多的IT人才。

1 个答案:

答案 0 :(得分:0)

最稳定的解决方案是在存储库级别镜像服务器。

GitLab具有为您执行此操作的内部机制(请参阅:https://gitlab.com/help/workflow/repository_mirroring)。

另一种方法(因为您将无法访问托管的GitLab实例上的文件系统)是创建一个脚本,以使用git push --mirror ..迭代“镜像”您的存储库。