Ubuntu GitLab更新后數據遷移指南
sudo gitlab-rake gitlab:backup:create
備份文件默認存儲在/var/opt/gitlab/backups
目錄,文件名格式為YYYY-MM-DD-HH-mm-ss_gitlab_backup.tar
。sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop nginx # 可選,若涉及web配置變更
若遷移至全新服務器或需要全新安裝,需先通過Omnibus包安裝最新版GitLab:
# 導入GitLab GPG密鑰
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
# 添加GitLab軟件源
echo "deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab.list
# 更新包索引并安裝
sudo apt-get update
sudo apt-get install gitlab-ce
安裝完成后,通過sudo gitlab-ctl reconfigure
應用初始配置。
將舊服務器/var/opt/gitlab/backups
目錄下的備份文件復制到新服務器相同路徑:
scp -r user@old-server:/var/opt/gitlab/backups/* user@new-server:/var/opt/gitlab/backups/
在新服務器上,使用GitLab恢復工具導入備份(需停止相關服務):
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-rake gitlab:backup:restore BACKUP=2025-09-18-12-00-00 # 替換為實際備份文件名(不含.tar后綴)
若備份不完整,手動復制倉庫目錄(存儲代碼倉庫)及配置、附件目錄:
# 復制倉庫(默認路徑)
sudo rsync -avz /var/opt/gitlab/repositories/ user@new-server:/var/opt/gitlab/
# 復制配置文件(含gitlab.rb)
sudo rsync -avz /var/opt/gitlab/config/ user@new-server:/var/opt/gitlab/
# 復制共享文件(含附件、LFS對象等)
sudo rsync -avz /var/opt/gitlab/shared/ user@new-server:/var/opt/gitlab/
/etc/gitlab/gitlab.rb
,確認關鍵配置(如外部URL、數據庫連接)是否適配新環境:external_url 'http://new-server-ip' # 更新為新服務器地址
gitlab_rails['gitlab_shell_ssh_port'] = 22 # 若SSH端口變更需調整
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
sudo gitlab-ctl enable
http://new-server-ip
,確認登錄頁面正常顯示。