git - 将 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:名称无法解析
致命:无法从远程存储库中读取。
请确保您具有正确的访问权限并且存储库存在。
任何想法、建议或意见将不胜感激,谢谢!
解决方案
如果有 VPN,你可以在你身边设置一个自托管运行器,只要它可以同时到达 git lab 和 github,它就能够在需要时触发。
自托管运行器将出站连接到 GitHub,因此您无需 GitHub 即可访问您的网络。如果自托管运行器在您的基础设施上运行,它更有可能能够连接到没有可公开寻址名称的系统。
看
或者,您将需要安装所需的 VPN 软件并从您的工作流程中连接代理。如果可能的话。
您拥有 VPN 的全部原因是为了保护主机免受外部连接的影响。
推荐阅读
- c++ - (Rcpp)armadillos abs() 函数在 std::abs 工作时与 c++ double 一起使用时输出错误值
- python - 在 Python 中遍历另一个脚本的不同类
- c# - 如何在当前方法中使用数据库事务?
- google-apps-script - 谷歌工作表按钮在移动设备上不起作用
- r - R中的命令filter()有问题吗?match.arg(method) 中的错误:“arg”必须为 NULL 或字符向量
- sql - 插入查询 - 将数据类型 nvarchar 转换为 (null) 时出错
- node.js - Shell 文件忙
- batch-file - 在 bat FOR /R 循环中获取子目录名称并相应地命名文件
- javascript - 使用数组属性设置 React 或 Recoil 状态对象的更简单方法
- javascript - 使用 vue.js 提高表列上悬停效果的反应性/性能