Appearance
参考:# 迁移到新服务器
由于没有CI/CD、后台任务,直接迁移redis和备份文件即可
旧服务器:
shell
sudo /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket save && sudo gitlab-ctl stop && sudo gitlab-ctl start postgresql && sudo gitlab-ctl start gitaly
sudo gitlab-backup create然后将以下两个文件,上传到新服务器对应位置
/var/opt/gitlab/redis/dump.rdb/var/opt/gitlab/backups/xxxxxxxxx-backup.tar
新服务器:
调整文件系统权限
shell
sudo chown gitlab-redis /var/opt/gitlab/redis
sudo chown gitlab-redis:gitlab-redis /var/opt/gitlab/redis/dump.rdb
sudo chown git:root /var/opt/gitlab/backups
sudo chown git:git /var/opt/gitlab/backups/xxxxxxxxx-backup.tar启动redis
shell
sudo gitlab-ctl start redis停止相关进程
shell
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl status恢复备份
# "_gitlab_backup.tar" 要去掉
sudo gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce等待执行完成,重启gitlab
shell
sudo gitlab-ctl restart(校验)
shell
sudo gitlab-rake gitlab:check SANITIZE=true
sudo gitlab-rake gitlab:doctor:secrets
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
sudo gitlab-rake gitlab:uploads:check迁移后发现修改系统设置报500
排查:
shell
sudo gitlab-rake gitlab:doctor:secrets VERBOSE=1发现用户、群组、应用校验失败 
修复命令:注意id数组里和上方命令输出一致
shell
sudo gitlab-rails console
# 清空损坏的 ApplicationSetting 字段
ApplicationSetting.where(id: ApplicationSetting.current.id).update_all(
runners_registration_token_encrypted: nil,
error_tracking_access_token_encrypted: nil,
encrypted_ci_jwt_signing_key: nil,
encrypted_ci_jwt_signing_key_iv: nil
)
User.update_all(static_object_token_encrypted: nil)
User.update_all(static_object_token: nil)
Group.where(id: [3,5,20,28,38,48]).update_all(runners_token: nil)
Group.where(id: [3,5,20,28,38,48]).update_all(runners_token_encrypted: nil)
exit完成