如何将gitlab与github同步

时间:2015-09-24 13:00:20

标签: git github gitlab

我有几个开发人员在本地Gitlab实例上工作。客户要求他们的Github仓库保持更新。所以我们的Gitlab repo应该直接将任何提交推送到Github。任何对Github的提交都应该同样归入Gitlab。

我可以用jenkins或者其他东西来做第一部分(dev - > gitlab - > github),但是反过来。我们的Gitlab和Jenkins在防火墙内运行。

任何提示或指示(或解决方案!)都将非常感激。

3 个答案:

答案 0 :(得分:13)

仅在企业版和GitLab.com上,但GitLab直接引入了此功能,没有任何解决方法。

他们已经documented pulling from a remote repository

它也在您可以推送的同一配置部分中:

  1. 在项目中使用齿轮图标选择镜像存储库
  2. 向下滚动到推送到远程存储库
  3. 选中标记远程镜像存储库:每小时自动更新远程镜像的分支,标记和提交。
  4. 输入要更新的存储库;对于GitHub,您可以在URL中包含您的用户名和密码,如下所示:https://yourgithubusername:yourgithubpassword@github.com/agaric/guts_discuss_resource.git
  5. 请注意,我还没有尝试过,但您应该可以从同一个存储库中推送和拉取。它非常适合我从远程存储库(drupal.org)中提取,并推送到另一个远程存储库(gitlab.com)。

答案 1 :(得分:4)

rugk和mlncn的答案已过时。

现在GitLab Docs → User Docs → Projects → Repositories → Mirroring中描述了正确的过程。

答案 2 :(得分:2)

要从GitHub同步到GitLab,你可以使用Webhooks向你的网站发送通知,并可能以某种方式管理它(虽然我不知道GitLab是否支持这种开箱即用)。

通过更多实现,您可以(理论上)使用GitHub API。

我还发现了small script名为“redmine问题和gitlab问题之间的简单(和脏)同步”,至少应该这样做。