如何在一台服务器上使用GitLab并将所有存储库存储在另一台服务器上?

时间:2015-03-17 14:28:31

标签: git gitlab

我的团队在/net/CM/repo.git/net/CM/repo2.git的NAS服务器上有几个git存储库。我最近加入了团队并告诉他们GitLab,他们认为这将是一个很好的工具。

但是,他们希望我在另一台服务器上安装GitLab,我们称之为超级服务器,另一台我们称之为NAS服务器。

我已经在超级服务器上安装了GitLab,它运行得很好,但我很难让它在NAS服务器上检测我的git repos。那可能吗?如果可能的话,我不希望团队的其他成员必须在他们的git repos上更改他们的远程源。我希望他们继续推进标准回购,GitLab应该检测到这一变化。

我尝试将git_data_dir设置为in this Stack Overflow post

git_data_dir "/net/CM/"

但是当我运行sudo gitlab-ctl reconfigure时,我最终会遇到权限错误。它说它无法在/net/CM/创建目录。

我还尝试制作一个/net/git-data/目录,并将权限设置为777只是为了查看它是否可行,但无济于事。

总而言之,如何在我的超级服务器上运行GitLab的网络软件,但是我的所有存储库都在我的NAS服务器上?

更新

有人问我是如何安装NAS服务器的。当我加入团队时,我按照提供给我的说明,但在这里他们是:

# I pulled out the ip's and ports for security purposes.
sudo apt-get install nfs-common
sudo mkdir /net
sudo mount -t nfs -o proto=tcp,port=[port] [ip]:/net /net
sudo vim /etc/fstab
# Add the following lines to fstab:
[ip]:/net /net nfs auto 0 0
[ip]:/project_name /projectname nfs auto 0 0

3 个答案:

答案 0 :(得分:0)

我进入了我们的NAS配置并将我的超级服务器IP地址添加到启用了Root权限的主机"一切都很好。我没有经过测试,看看我是否可以在重新配置之后取消选中该框,看看是否仍有效。

答案 1 :(得分:0)

NFS本身并不知道如何比较来自不同主机的用户。因此,当您挂载NFS共享时,您将从服务器获取用户ID,但本地NFS客户端不知道它们映射到哪个本地用户。毕竟,用户1000可以是服务器上的Anton和本地的Ben。

要解决此问题,您有很多选择。最简单的方法是确保两台计算机上都有相同的用户,您可以配置idmapd让NFS知道。

相关:

答案 2 :(得分:0)

自 2015 年以来的注意和更新:

GitLab 13.11(2021 年 4 月)确实提到:

<块引用>

NFS for Git repository storage deprecated

随着 Gitaly Cluster(于 2020 年 5 月 GitLab 13.0 推出)的全面发布,我们将在 GitLab 14.0 中弃用对 Git 存储库的 NFS 支持强>.

我们希望帮助您避免购买不需要的昂贵 NFS 设备,因此邀请目前使用 NFS for Git 存储库的客户开始计划迁移。

我们很高兴提供关于 Migrating to Gitaly Cluster 的文档。

要查看我们的总体状态,请查看我们的 Gitaly Cluster roadmap