要在Ubuntu上修改GitLab-ce的数据目录,请按照以下步骤操作:
方法一:通过挂载绑定迁移整个数据目录(推荐)
-
创建新目录并设置权限:
sudo mkdir -p /mnt/gitlab sudo chown -R git:git /mnt/gitlab
-
停止GitLab服务:
sudo gitlab-ctl stop
-
复制数据到新位置:
sudo rsync -av /var/opt/gitlab/ /mnt/gitlab/
-
备份原目录:
sudo mv /var/opt/gitlab /var/opt/gitlab.bak
-
创建挂载绑定并永久生效:
sudo mount --bind /mnt/gitlab /var/opt/gitlab echo "/mnt/gitlab /var/opt/gitlab none bind 0 0" | sudo tee -a /etc/fstab
-
启动GitLab服务:
sudo gitlab-ctl start
方法二:修改GitLab配置迁移指定数据
-
修改仓库数据目录:
-
编辑配置文件:
sudo nano /etc/gitlab/gitlab.rb
-
添加以下配置:
git_data_dir "/mnt/gitlab/git-data"
-
-
创建目录并迁移数据:
sudo mkdir -p /mnt/gitlab/git-data sudo chown git:git /mnt/gitlab/git-data sudo gitlab-ctl stop sudo rsync -av /var/opt/gitlab/git-data/ /mnt/gitlab/git-data/
-
应用配置并重启:
sudo gitlab-ctl reconfigure sudo gitlab-ctl restart
验证
检查服务状态和新目录使用情况:
sudo gitlab-ctl status df -h /mnt/gitlab
注意事项
-
权限问题:确保新目录的所有者和组与GitLab用户(通常为
git:git
)一致。 -
彻底迁移:若需迁移所有组件(如PostgreSQL、Redis),需在
gitlab.rb
中分别设置对应参数(如postgresql['data_dir']
)。 -
备份数据:操作前建议备份数据,以防意外。
通过上述步骤,您可以将GitLab的数据目录迁移到新位置,确保存储空间的合理分配。