【发布时间】:2015-05-20 00:52:50
【问题描述】:
我的团队在/net/CM/repo.git 和/net/CM/repo2.git 的NAS 服务器上有几个git 存储库。我最近加入了团队并向他们介绍了 GitLab,他们认为这将是一个很好的实施工具。
但是,他们希望我将 GitLab 安装在不同的服务器上,我们将其称为超级服务器,而将另一个称为 NAS 服务器。
我已经在超级服务器上安装了 GitLab,它运行良好,但我很难让它检测到我在 NAS 服务器上的 git 存储库。那可能吗?如果可能的话,我不希望团队的其他成员不得不在他们的 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
【问题讨论】:
-
你是如何挂载
/net/CM的? -
我将把它作为更新添加到我的问题中,使其看起来比评论更清晰。
-
好的,我加了。所以我安装 GitLab 的“超级服务器”确实可以访问
/net/CM。我可以在cd那里很好地浏览。 -
您是否考虑过通过网络文件系统运行 git 对性能的影响?这通常不是一件好事,因为 git 非常消耗磁盘。
-
但是 git 是一个分布式源代码控制。我们每个人都有自己的本地代码副本,我们只是将最终结果存储在网络上。你能解释一下 git 非常密集的意思吗?注意:实际上没有人在网络目录之外工作,只是存储库位于网络上。