迁移 Debian 上的 GitLab 数据通常有两种主要方式:使用 GitLab 内建备份恢复机制(推荐) 和 直接复制数据目录(适用于同版本、同架构)。下面分别说明。
适用于:
sudo gitlab-rake gitlab:backup:create
默认备份文件位置:
/var/opt/gitlab/backups/
文件名类似:
1670000000_2023_01_01_gitlab_backup.tar
该备份包含:仓库、数据库、附件、CI 数据等
⚠️ 不包含 GitLab 配置文件
sudo tar czf gitlab-config.tar.gz -C / etc/gitlab
scp /var/opt/gitlab/backups/*.tar user@new-server:/var/opt/gitlab/backups/
scp gitlab-config.tar.gz user@new-server:/tmp/
查看旧版本:
sudo gitlab-rake gitlab:env:info
安装相同版本(示例):
sudo apt-get install gitlab-ee=15.11.0-ee.0
sudo tar xzf /tmp/gitlab-config.tar.gz -C /
sudo gitlab-ctl reconfigure
sudo gitlab-ctl stop unicorn puma sidekiq
sudo gitlab-rake gitlab:backup:restore BACKUP=1670000000_2023_01_01
sudo gitlab-ctl restart
仅适用于:
sudo gitlab-ctl stop
sudo tar czf gitlab-data.tar.gz /var/opt/gitlab
sudo tar xzf gitlab-data.tar.gz -C /
sudo cp -r /etc/gitlab /etc/
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
不能,必须版本一致,否则可能失败。
sudo gitlab-ctl reconfigure
sudo chown -R git:git /var/opt/gitlab
备份方式相同,但路径在容器内。
如果你能提供:
我可以给你更精确的迁移命令。