我的团队在/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
答案 0 :(得分:0)
我进入了我们的NAS配置并将我的超级服务器IP地址添加到启用了Root权限的主机"一切都很好。我没有经过测试,看看我是否可以在重新配置之后取消选中该框,看看是否仍有效。
答案 1 :(得分:0)
NFS本身并不知道如何比较来自不同主机的用户。因此,当您挂载NFS共享时,您将从服务器获取用户ID,但本地NFS客户端不知道它们映射到哪个本地用户。毕竟,用户1000可以是服务器上的Anton和本地的Ben。
要解决此问题,您有很多选择。最简单的方法是确保两台计算机上都有相同的用户,您可以配置idmapd
让NFS知道。
相关:
答案 2 :(得分:0)
自 2015 年以来的注意和更新:
GitLab 13.11(2021 年 4 月)确实提到:
<块引用>随着 Gitaly Cluster(于 2020 年 5 月 GitLab 13.0 推出)的全面发布,我们将在 GitLab 14.0 中弃用对 Git 存储库的 NFS 支持强>.
我们希望帮助您避免购买不需要的昂贵 NFS 设备,因此邀请目前使用 NFS for Git 存储库的客户开始计划迁移。
我们很高兴提供关于 Migrating to Gitaly Cluster 的文档。
要查看我们的总体状态,请查看我们的 Gitaly Cluster roadmap。