Ubuntu 上 GitLab 数据迁移方法
一 迁移总览与前置条件
二 在原服务器创建备份
cat /opt/gitlab/embedded/service/gitlab-rails/VERSIONsudo gitlab-backup create;旧版本可用:sudo gitlab-rake gitlab:backup:create/var/opt/gitlab/backups,文件名形如 1658368484_2022_07_21_14.8.2_gitlab_backup.tar。如需改目录,在 /etc/gitlab/gitlab.rb 设置 gitlab_rails['backup_path'] = '/your/path' 并执行 sudo gitlab-ctl reconfigure 生效。docker psdocker exec -t <容器名> gitlab-backup create/var/opt/gitlab/backups,对应宿主机目录需提前挂载(常见为 /srv/gitlab/data/backups)。三 拷贝备份与配置文件到新服务器
scp /var/opt/gitlab/backups/1658368484_2022_07_21_14.8.2_gitlab_backup.tar root@新服务器:/var/opt/gitlab/backups/scp /etc/gitlab/gitlab.rb root@新服务器:/etc/gitlab/gitlab.rbscp /etc/gitlab/gitlab-secrets.json root@新服务器:/etc/gitlab/gitlab-secrets.json四 在新服务器恢复与验证
gitlab-ce_14.8.2-ce.0_amd64.deb)sudo dpkg -i gitlab-ce_*.deb && sudo gitlab-ctl reconfigureexternal_url 在 /etc/gitlab/gitlab.rb 调整为目标访问地址并 gitlab-ctl reconfigure。chown git:git /var/opt/gitlab/backups/*.tar && chmod 0600 /var/opt/gitlab/backups/*.tarsudo gitlab-ctl stop unicorn && sudo gitlab-ctl stop sidekiqsudo gitlab-rake gitlab:backup:restore BACKUP=1658368484_2022_07_21_14.8.2sudo gitlab-ctl start/srv/gitlab/config 已包含 gitlab.rb 与 gitlab-secrets.jsondocker stop gitlabdocker exec -it gitlab gitlab-backup restore BACKUP=1658368484_2022_07_21_14.8.2docker start gitlabGITLAB_BACKUPS 环境变量或在挂载目录中放置备份。