序列化git提交并通过REST发送它们

时间:2013-09-17 12:35:35

标签: git gitolite

我有3台机器具有相同的git repo。我在机器对之间也有DMZ,DMZ这里是没有外部访问的内部网络,机器B 只能访问两个DMZ,因此需要服务器作为机器A之间的管道机器C

所有机器都安装了 gitolite (为了清楚起见)。我需要将 pull 数据从机器C带到机器A。

enter image description here

我的想法是让机器 B C 中提取代码,序列化该数据并通过REST将其发送到机器 A

不知何故,我需要使用反序列化来加载那些提交机器 A 的回购。模拟从机器 C A 机器的模拟。希望这是有道理的,有没有人知道如何实现这个?

2 个答案:

答案 0 :(得分:0)

为什么要使用REST?

我只是对 B 进行了简单的回购,并从 B B 获取 A <强> C 即可。如果你有ssh访问 B ,你甚至可以在 A 时拉 B

OR

我不知道这是否可行,但你可以让 B A C 创建一个ssh隧道。这样您就可以直接从 C 中获取。

答案 1 :(得分:0)

我使用B中的一个gitolite用户(在一个cron作业中)这样做:

  • 来自C/master
  • 在专用分支master_C
  • 中推送到A.

那个gitolite用户对相关的repos有特殊的读写权限(读入gitolite C,用gitolite A写)。

master_C上的专用分支A可让我始终成功推送(始终是快速推送)。
然后,用户负责监控该分支,并在适当时将其合并到master A分支。