首页 > 解决方案 > 将 GitHub 存储库镜像到 VPN 后面的 GitLab 存储库

问题描述

我有一个 GitLab 存储库(我们称之为 userrepo1),它位于一个自定义域(我们称之为 test-users-projects.co.uk)上,只能通过 VPN 访问 - 所以存储库的完整地址是https: //test-users-projects.co.uk/username/userrepo1.git

我还有一个 GitHub 帐户,它不在 VPN 后面,有一个同名的存储库 - userrepo1。其完整地址将是https://github.com/username/userrepo1.git。由于 GitHub 存储库用户将要做的工作的性质,他们将连接到 VPN,但无法访问 GitLab 域。

每当用户提交到 GitHub 存储库时,我希望将 GitHub 存储库镜像到 GitLab 存储库。我已经使用现有的 GitHub Actions 尝试了各种解决方案,例如这里列出的那些https://github.com/marketplace?query=gitlab&type=actions,但是我总是遇到如下错误:

致命:无法访问“https://test-users-projects.co.uk/username/userrepo1/”:无法解析主机:test-users-projects.co.uk

我也尝试过依赖 SSH 的操作,这些操作返回以下内容

ssh:无法解析主机名 test-users-projects.co.uk:名称无法解析

致命:无法从远程存储库中读取。

请确保您具有正确的访问权限并且存储库存在。

任何想法、建议或意见将不胜感激,谢谢!

标签: gitgithubgitlab

解决方案


如果有 VPN,你可以在你身边设置一个自托管运行器,只要它可以同时到达 git lab 和 github,它就能够在需要时触发。

自托管运行器将出站连接到 GitHub,因此您无需 GitHub 即可访问您的网络。如果自托管运行器在您的基础设施上运行,它更有可能能够连接到没有可公开寻址名称的系统。

或者,您将需要安装所需的 VPN 软件并从您的工作流程中连接代理。如果可能的话。

您拥有 VPN 的全部原因是为了保护主机免受外部连接的影响。


推荐阅读