在生产环境上迁移GitLab的目录需要注意一下几点:
1、目录的权限必须为755或者775
2、目录的用户和用户组必须为git:git
3、如果在深一级的目录下,那么git用户必须添加到上一级目录的账户。
4、很多文章说修改/etc/gitlab/gitlab.rb这个文件里面的git_data_dirsb变量,其实没必要,只需要使用软链接改变原始目录/var/opt/gitlab/git-data更好一些。
5、注意:迁移前的版本和迁移后的版本必须保持一致,如果迁移后的版本是高版本,那么现在原版本做升级后再迁移。
迁移方法:
此方法适用于版本:11.4.5+
# 停止服务 gitlab-ctl stop # 备份目录 mv /var/opt/gitlab/git-data{,_bak} # 新建新目录 mkdir -p /data/service/gitlab/git-data # 设置目录权限 chown -R git:git /data/service/gitlab chmod -R 775 /data/service/gitlab # 同步文件,使用rsync保持权限不变 rsync -av /var/opt/gitlab/git-data_bak/repositories /data/service/gitlab/git-data/ # 创建软链接 ln -s /data/service/gitlab/git-data /var/opt/gitlab/git-data # 更新权限 gitlab-ctl upgrade # 重新配置 gitlab-ctl reconfigure # 启动 gitlab-ctl start
以上只是例子,在生产环境可以根据这些步骤随机应变。
参考: