使用sshfs将外部存储库导入Gitlab

使用sshfs将外部存储库导入Gitlab,git,gitlab,mount,sshfs,Git,Gitlab,Mount,Sshfs,是否可以将所有存储库都放在某个本地服务器上,并使用Gitlab(托管在其他本地服务器上)进行浏览 我使用Gitlab v8.3.3。我有以下情况: -我的所有存储库都存储在本地服务器上,比如:192.168.5.5at/git -我还有一个托管Gitlab的本地虚拟机,位于:192.168.5.6 -我通过运行:sshfs-my将本地git服务器安装在git数据目录(保存存储库的地方)。user@192.168.5.5:/git/var/opt/gitlab/git data/repositor

是否可以将所有存储库都放在某个本地服务器上,并使用Gitlab(托管在其他本地服务器上)进行浏览

我使用Gitlab v8.3.3。我有以下情况:
-我的所有存储库都存储在本地服务器上,比如:
192.168.5.5
at
/git

-我还有一个托管Gitlab的本地虚拟机,位于:
192.168.5.6

-我通过运行:
sshfs-my将本地git服务器安装在git数据目录(保存存储库的地方)。user@192.168.5.5:/git/var/opt/gitlab/git data/repositories/server group

服务器组是Gitlab在创建同名新组时创建的空目录

现在,我希望能够通过Gitlab浏览以这种方式装载的存储库。
可能吗

我认为应该是这样,但它需要一些额外的配置?

当然很简单:
gitlab ctl reconfigure
gitlab ctl restart
没有帮助,而且gitlab组
服务器组
有0个项目,即使在它的目录中我有有效的“repos.git”。

您需要在gitlab中创建项目,然后它们才会出现

但有两个考虑因素,GitLab希望回购协议是裸回购协议,也希望设置一个头文件

我的建议是通过从git服务器导入每个repo来创建项目。这将创建包含所有提交和分支的裸repo,并在GitLab数据库中创建项目。然后,如果仍然希望将repo放在单独的服务器上,则可以将GitLab创建的文件夹移动到另一台服务器上,然后在尝试时装载它们

或者,如果你仍然想让你目前的回购协议出现,并希望它们能起作用。(如果不是裸回购,不确定是否会)您可以尝试:

  • 卸载已安装的git回购
  • 为每个回购协议创建空项目,使其路径与当前回购协议匹配
  • 将git回购重新装载到创建空回购的位置
我通过以下方式解决了此问题:
一,。使用GitLab API创建同名的空存储库

curl-k--header“PRIVATE-TOKEN:“-H”内容类型:application/json“-d'{“name”:“path”:“visibility_level”:“10”,“namespace_id”:“}”https://192.168.5.6/api/v3/projects“


2。如中所述装载存储库(包括更改权限-请参阅答案)