gitlab服务器迁移完整攻略

0 阅读1分钟

🛠️ 第一步:在旧服务器生成完整 GitLab 备份

sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-backup create

完成后查看:

sudo ls -lh /var/opt/gitlab/backups/

示例文件:

1737000000_2026_01_21_17.8.2_gitlab_backup.tar

🛠️ 第二步:备份 GitLab 配置与密钥(必须)

sudo cp /etc/gitlab/gitlab.rb /var/opt/gitlab/backups/
sudo cp /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups/

🛠️ 第三步:打包备份文件(便于传输)

sudo tar -czvf gitlab_full_backup_17.8.2.tar.gz \
/var/opt/gitlab/backups \
/etc/gitlab/gitlab.rb \
/etc/gitlab/gitlab-secrets.json

🛠️ 第四步:传输到新服务器(rsync 推荐)

rsync -avz -e "ssh -p 34343" gitlab_full_backup_17.8.2.tar.gz root@127.0.0.1:/home/root/

🛠️ 第五步:新服务器安装 同版本 GitLab(强制一致)

⚠️ 必须安装 17.8.2-ce.0

Ubuntu / Debian:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
​
sudo apt install gitlab-ce=17.8.2-ce.0
sudo apt-mark hold gitlab-ce

🛠️ 第六步:停止新服务器 GitLab 服务

sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

🛠️ 第七步:解包迁移数据

sudo tar -xzvf gitlab_full_backup_17.8.2.tar.gz -C /

🛠️ 第八步:修正备份权限

sudo chown git:git /var/opt/gitlab/backups/*.tar

🛠️ 第九步:执行 GitLab 恢复(关键)

sudo gitlab-backup restore BACKUP=1737000000_2026_01_21_17.8.2

(替换为你的真实备份文件名)


🛠️ 第十步:重新加载 & 启动 GitLab

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

🛠️ 第十一步:健康检查

sudo gitlab-rake gitlab:check SANITIZE=true