我有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人才。
答案 0 :(得分:0)
最稳定的解决方案是在存储库级别镜像服务器。
GitLab具有为您执行此操作的内部机制(请参阅:https://gitlab.com/help/workflow/repository_mirroring)。
另一种方法(因为您将无法访问托管的GitLab实例上的文件系统)是创建一个脚本,以使用git push --mirror ..
迭代“镜像”您的存储库。