使用sshfs将外部存储库导入Gitlab
是否可以将所有存储库都放在某个本地服务器上,并使用Gitlab(托管在其他本地服务器上)进行浏览 我使用Gitlab v8.3.3。我有以下情况:使用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
-我的所有存储库都存储在本地服务器上,比如:
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。如中所述装载存储库(包括更改权限-请参阅答案)