一、默认路径
默认仓库存储:
plaintext
/var/opt/gitlab/git-data/repositories
二、修改为单个自定义路径(简单常用)
1)创建目标目录(示例:/data/gitlab/git-data)
bash
运行
sudo mkdir -p /data/gitlab/git-data
sudo chown git:git /data/gitlab/git-data
sudo chmod 2770 /data/gitlab/git-data
2)修改配置文件
bash
运行
sudo vim /etc/gitlab/gitlab.rb
找到并修改(取消注释):
ruby
git_data_dir "/data/gitlab/git-data"
或新版推荐写法:
ruby
git_data_dirs({
"default" => { "path" => "/data/gitlab/git-data" }
})
3)重新配置并重启
bash
运行
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
执行后会自动在 /data/gitlab/git-data 下生成 repositories 目录。
三、配置多个仓库存储路径(企业级)
1)在 gitlab.rb 中添加多存储
ruby
gitaly['configuration'] = {
storage: [
{
name: 'default',
path: '/data/gitlab/git-data/repositories',
},
{
name: 'nas',
path: '/mnt/nas/gitlab/repositories',
},
{
name: 'ssd',
path: '/mnt/ssd/gitlab/repositories',
}
]
}
或用 git_data_dirs 方式:
ruby
git_data_dirs({
"default" => { "path" => "/data/gitlab/git-data" },
"nas" => { "path" => "/mnt/nas/gitlab" },
"ssd" => { "path" => "/mnt/ssd/gitlab" }
})
2)生效配置
bash
运行
sudo gitlab-ctl reconfigure
3)网页端设置新建仓库默认存储
管理员账号 → 左下角 Admin
Settings → Repository
展开 Repository storage
给各存储设置权重(0–100),权重越高越优先
保存GitLab Documentation
四、迁移已有仓库数据(重要)
如果旧路径已有仓库,先停服务再迁移:
bash
运行
# 停止 GitLab
sudo gitlab-ctl stop
# 迁移数据(示例:默认 → /data/gitlab/git-data)
sudo rsync -av /var/opt/gitlab/git-data/repositories/ /data/gitlab/git-data/repositories/
# 修复权限
sudo chown -R git:git /data/gitlab/git-data
sudo chmod -R 2770 /data/gitlab/git-data
# 启动服务
sudo gitlab-ctl start
五、常见问题
目录不能是软链接:GitLab 不支持路径为符号链接。
权限必须是 git:git:否则会报权限错误。
reconfigure 失败:检查目录是否存在、权限是否正确、路径是否重复。
上一条:GitLab代码托管协作平台
下一条:没有了!