如何将GitLab与GitHub同步

34

我有几个开发人员在本地Gitlab实例上工作。客户要求保持其Github存储库更新。因此,我们的Gitlab存储库应直接将任何提交推送到Github。同样,Github的任何提交也应该被拉取到Gitlab中。

我可以通过Jenkins或其他方式完成第一部分(从开发者到Gitlab再到Github),但是在反向过程中卡住了。我们的Gitlab和Jenkins运行在防火墙内。

非常感谢任何提示或指导(或解决方案!)


你不能在开发机器上运行一个推送到Github的进程吗? - Cristiano Araujo
3个回答

38

这个功能仅在企业版和GitLab.com上可用, 但是GitLab已经直接引入了此功能,而不需要任何变通方法。

他们在GitLab文档→ 用户文档→ 项目→ 存储库→ 镜像中记录了从/向远程存储库的拉取/推送。

您可以在同一配置部分中也进行推送:

  1. 在项目内使用齿轮图标选择 镜像存储库
  2. 向下滚动至 推送到远程存储库
  3. 勾选 远程镜像库:每小时自动从此存储库更新远程镜像的分支、标签和提交。
  4. 输入要更新的存储库;对于GitHub,您可以在URL中包括用户名和密码,例如:https://yourgithubusername:yourgithubpassword@github.com/agaric/guts_discuss_resource.git

请注意,我没有尝试过,但您应该能够向同一存储库推送和拉取。它对我从远程存储库(drupal.org)拉取并推送到另一个远程存储库(gitlab.com)运行良好。


5
Gitlab-CE 有解决方案吗? - Martin
我可以在我的免费GitLab仓库中使用仓库镜像功能。 - Nam G VU
从GITLAB更新文档 https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html - Sajjad Ali Khan

8

mlnc的回答中的链接无论如何都指向同一页。 - Gerold Broser

5

如果想要将 GitHub 的内容同步到 GitLab,您可以使用Webhooks向您的网站发送通知并可能以某种方式管理此内容(虽然我不知道 GitLab 是否原生支持此功能)。

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

我还发现一个名为“simple(and dirty)sync between redmine issues and gitlab issues”的小脚本,至少应该可以做到这一点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接