在 Linux 下迁移 GitLab 配置,通常分三种场景:同版本迁移、跨版本迁移、整机迁移。下面按最常用、最安全的方式说明。
gitlab-rake gitlab:env:info
# 或
cat /opt/gitlab/version-manifest.txt
⚠️ 目标服务器的 GitLab 版本必须 ≥ 源服务器版本
gitlab-ctl stop
/etc/gitlab/gitlab.rb
复制该文件到目标服务器:
scp /etc/gitlab/gitlab.rb user@new-server:/etc/gitlab/
/etc/gitlab/ssl/
gitlab-rake gitlab:backup:create
备份文件位置:
/var/opt/gitlab/backups/
scp /var/opt/gitlab/backups/xxxx_gitlab_backup.tar \
user@new-server:/var/opt/gitlab/backups/
/var/opt/gitlab/
⚠️ 仅适用于 完全同版本、同架构
# 以 Ubuntu 为例
apt install gitlab-ee=15.11.0
cp gitlab.rb /etc/gitlab/
gitlab-ctl reconfigure
gitlab-rake gitlab:backup:restore BACKUP=xxxx
gitlab-ctl start
gitlab-rake gitlab:check SANITIZE=true
gitlab-ctl status
访问 Web 页面验证:
| 项目 | 说明 |
|---|---|
| 外部数据库 | 需单独迁移 PostgreSQL |
| LDAP / OAuth | 在 gitlab.rb 中重新配置 |
| Runner | 需重新注册 |
| 版本差异 | 禁止跨大版本直接拷数据 |
✅ /etc/gitlab/gitlab.rb
✅ /etc/gitlab/ssl/
✅ /var/opt/gitlab/backups/*.tar
✅ 同版本 GitLab
如果你愿意,可以告诉我:
我可以给你精确命令级方案。