版本一致性檢查
確保新舊服務器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
中配置相同的訪問密鑰和參數。功能驗證
風險控制
參考來源: