GitLab仓库存储位置迁移
参考
gitlab 存储仓库目录设置及数据迁移_gitlab可以分目录吗?-CSDN博客
说明
默认情况下 gitlab 仓库数据存储在
/var/opt/gitlab/git-data
目录下,仓库存放在子目录 repositories 里面可以通过修改
/etc/gitlab/gitlab.rb
中git_data_dirs
这一行来自定义 git-data 的父目录
步骤
设置仓库数据目录
1 | [root@gitlab ~]# vim /etc/gitlab/gitlab.rb |
把注释取消然后指定新的仓库存储位置
1 | git_data_dirs({ "default" => { "path" => "/home/gitlab-data" } }) |
/home/gitlab-data 是迁移的目标目录,注意 :目标路径和其子路径必须不能为软链接
情况一:仓库无数据
1 | [root@gitlab ~]# gitlab-ctl stop |
情况二:已存在 Git 仓库数据
准备迁移之前要停止GitLab服务,防止用户写入数据
1 | [root@gitlab ~]# gitlab-ctl stop |
1 | [root@gitlab ~]# rsync -av /var/opt/gitlab/git-data/repositories /home/gitlab-data/ |
注意 ‘repositories’后面不带斜杠,而 ‘/home/gitlab-data’后面是有斜杠的
修复权限设置
1 | [root@gitlab ~]# gitlab-ctl reconfigure |
检查下 /home/gitlab-data 的目录
1 | [root@gitlab ~]# ls /home/gitlab-data/ |
启动 GitLab,验证
1 | [root@gitlab ~]# gitlab-ctl start |
其它
设置存储仓库数据的备用目录
注意的是:自GitLab 8.10
开始,可以通过在/etc/gitlab/gitlab.rb
文件中添加下面的几行配置, 来增加多个 git 数据存储目录
1 | git_data_dirs({ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 王文哲的博客!