温馨提示×

linux gitlab如何迁移配置

小樊
46
2026-09-10 10:47:19
栏目: 智能运维

在 Linux 下迁移 GitLab 配置,通常分三种场景:同版本迁移、跨版本迁移、整机迁移。下面按最常用、最安全的方式说明。


一、迁移前准备(非常重要)

1. 查看 GitLab 版本

gitlab-rake gitlab:env:info
# 或
cat /opt/gitlab/version-manifest.txt

⚠️ 目标服务器的 GitLab 版本必须 ≥ 源服务器版本


2. 停止 GitLab 服务(源服务器)

gitlab-ctl stop

二、核心配置文件迁移(必做)

1. 主配置文件

/etc/gitlab/gitlab.rb

复制该文件到目标服务器:

scp /etc/gitlab/gitlab.rb user@new-server:/etc/gitlab/

2. SSL 证书(如有)

/etc/gitlab/ssl/

三、数据 & 仓库迁移(关键)

方式一:官方备份(✅ 推荐)

1. 在源服务器创建备份

gitlab-rake gitlab:backup:create

备份文件位置:

/var/opt/gitlab/backups/

2. 拷贝备份文件到目标服务器

scp /var/opt/gitlab/backups/xxxx_gitlab_backup.tar \
user@new-server:/var/opt/gitlab/backups/

方式二:直接拷贝数据目录(不推荐跨版本)

/var/opt/gitlab/

⚠️ 仅适用于 完全同版本、同架构


四、目标服务器恢复

1. 安装同版本 GitLab

# 以 Ubuntu 为例
apt install gitlab-ee=15.11.0

2. 覆盖 gitlab.rb

cp gitlab.rb /etc/gitlab/
gitlab-ctl reconfigure

3. 恢复备份

gitlab-rake gitlab:backup:restore BACKUP=xxxx

4. 启动 GitLab

gitlab-ctl start

五、迁移后检查

gitlab-rake gitlab:check SANITIZE=true
gitlab-ctl status

访问 Web 页面验证:

  • 用户 / 仓库 / CI / 配置是否完整

六、常见注意事项

项目 说明
外部数据库 需单独迁移 PostgreSQL
LDAP / OAuth 在 gitlab.rb 中重新配置
Runner 需重新注册
版本差异 禁止跨大版本直接拷数据

七、最小化迁移清单(速查)

✅ /etc/gitlab/gitlab.rb
✅ /etc/gitlab/ssl/
✅ /var/opt/gitlab/backups/*.tar
✅ 同版本 GitLab

如果你愿意,可以告诉我:

  • GitLab 版本(CE / EE)
  • 是否使用外部数据库
  • 是否 Docker / 物理机 / 云服务器

我可以给你精确命令级方案

0