一、迁移前准备
sudo gitlab-rake gitlab:backup:create,默认备份文件存储在/var/opt/gitlab/backups/目录下。sudo cp /etc/gitlab/gitlab.rb /var/opt/gitlab/backups/、sudo cp /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups/。二、数据迁移步骤
scp命令将备份文件(含.tar备份文件、gitlab.rb、gitlab-secrets.json)从旧服务器复制到新服务器的/var/opt/gitlab/backups/目录(需提前创建该目录并设置正确权限,如sudo mkdir -p /var/opt/gitlab/backups/、sudo chown git:git /var/opt/gitlab/backups/)。wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/22.04/gitlab-ce_16.11.10-ce.0_amd64.deb && sudo dpkg -i gitlab-ce_16.11.10-ce.0_amd64.deb;sudo yum install -y curl openssh-server postfix && curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash && sudo yum install -y gitlab-ce。sudo gitlab-ctl stop unicorn && sudo gitlab-ctl stop sidekiq。BACKUP为备份文件的时间戳,如1725431200_2024_09_04_16.2.4):sudo gitlab-rake gitlab:backup:restore BACKUP=1725431200_2024_09_04_16.2.4。sudo cp /var/opt/gitlab/backups/gitlab.rb /etc/gitlab/gitlab.rb、sudo cp /var/opt/gitlab/backups/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json。sudo gitlab-ctl reconfigure(此命令会根据gitlab.rb更新服务配置)。sudo gitlab-ctl start(启动unicorn、sidekiq、nginx等服务)。三、迁移后验证
sudo gitlab-ctl status,确认所有服务(unicorn、sidekiq、nginx)均处于“run”状态。http://新服务器IP),使用原管理员账号登录,检查项目列表、用户权限、CI/CD配置是否正常。/var/log/gitlab/下的unicorn.log、sidekiq.log、nginx/error.log)。