版本一致性檢查
確保新舊服務器GitLab版本一致(可通過cat /opt/gitlab/embedded/service/gitlab-rails/VERSION查看版本號),避免因版本差異導致數據結構不兼容。
備份數據
/etc/gitlab/gitlab.rb、/etc/gitlab/gitlab-secrets.json。sudo gitlab-rake gitlab:backup:create,備份文件存放在/var/opt/gitlab/backups/。安裝GitLab
在新服務器安裝與舊版本相同的GitLab:
wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
sudo bash script.deb.sh
sudo apt-get install gitlab-ce=[舊版本號]-ce.0_amd64.deb
恢復數據
/var/opt/gitlab/backups/,并賦予權限:sudo chmod 777 *.tar。sudo gitlab-ctl stop unicorn sidekiq。sudo gitlab-rake gitlab:backup:restore BACKUP=[備份文件名],按提示輸入yes。配置與重啟
gitlab.rb和gitlab-secrets.json復制到/etc/gitlab/。sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart。數據庫兼容性
pg_dump/psql導出導入)。gitlab.rb中數據庫連接參數(如host、port)正確。存儲路徑與附件
git_data_dir),需在新服務器gitlab.rb中同步配置,并復制倉庫文件。/var/opt/gitlab/shared/,確保文件權限正確。特殊組件處理
config.toml中的GitLab URL。gitlab.rb中配置相同的訪問密鑰和參數。功能驗證
風險控制
參考來源: