【问题标题】:How can I use GitLab on one server and store all of the repositories on another?如何在一台服务器上使用 GitLab 并将所有存储库存储在另一台服务器上?
【发布时间】: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 非常密集的意思吗?注意:实际上没有人在网络目录之外工作,只是存储库位于网络上。

标签: git gitlab


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    相关:

    【讨论】:

    • 注意:第二个链接目前给我“内部服务器错误”。
    【解决方案3】:

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

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

    NFS for Git repository storage deprecated

    随着 Gitaly Cluster(于 2020 年 5 月在 GitLab 13.0 中引入)的普遍可用性,我们将在 GitLab 14.0 中弃用 NFS 对 Git 存储库的支持

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

    我们很高兴在 Migrating to Gitaly Cluster 上提供文档。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多