github - 在推送时自动将 Gitlab 存储库镜像到 Github

标签 github gitlab

我正在寻找一种在推送时自动将我的 Gitlab 存储库镜像到 Github 的方法。我使用 Gitlab 存储库作为我的主要存储库,并且宁愿只推送到一个远程。但是,我希望我的代码也可以在 Github 上浏览。

我在StackOverflow上发现了类似的问题,例如this one .

但答案总是相同的:应该向 gitlab 存储库添加一个自定义的接收后 git Hook 。这需要对运行 Gitlab 的服务器进行 shell 访问。由于我正在为许多用户托管社区版 Gitlab,而不仅仅是我,他们无法轻松访问 shell(这不是最用户友好的方法),因此它不适合我的需求。

我考虑了两种实现方法:

  • 要么是 MirrorOnPush 项目服务,在 Ruby 中实现此类 git hook,就像 EmailOnPush 项目服务当前所做的那样。

  • 或者使用自定义服务器通过 Webhook 克隆和推送存储库。

第一个对我来说似乎更干净,但我找不到任何关于 Gitlab 项目服务和代码结构的文档......另一方面,第二个是一个糟糕且丑陋的黑客,但几乎是简单的。

我宁愿实现一个项目服务来处理它。您是否有关于如何为 Gitlab 编写项目服务的任何文档或线索(无需阅读所有 Gitlab 源代码,因为似乎没有开发文档...)?

谢谢!

最佳答案

one should add a custom post-receive git hook to the gitlab repo.

实际上,这是最好的解决方案,直到 7.x GitLab,正如我在“Gitlab repository mirroring”中详细介绍的;

真实的project service请求 repo 镜像,但投票不够:建议:suggestion 4614663 .
主要文档仍然是:

这并不多,如 the OP noted before .

既然这样,你就只能采用黑客方法了。

关于github - 在推送时自动将 Gitlab 存储库镜像到 Github,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670910/

相关文章:

github - 如何在 github 中查看流行的 repos 和其他统计信息?

python - 神经网络推荐无法让它运行

android - 分发使用 Gradle 构建的 Android 库

ruby - 使用命令行公开 Git 存储库的可见性

git - 在 Visual Studio 中使用 github - 从上游 master 更新 fork

android - 在 Android 上通过蓝牙连接多个设备(多个 BLE 连接)

android - 将现有的 android studio 项目添加到 gitlab 存储库

docker - 如何使用 Gitlab CI 构建、推送和拉取多个 docker 容器?

java - 如何使用 git api 的 java 库以编程方式从哈希值远程获取标签或分支名称?

linux - 安装 GitLab 并让它在子域上运行