温馨提示×

linux gitlab怎样迁移

小樊
34
2026-09-16 16:15:11
栏目: 智能运维

在 Linux 服务器上迁移 GitLab,常见有 整机迁移(推荐)备份恢复迁移Docker 迁移 几种方式。下面按最常用、最稳妥的「备份 + 恢复」方式说明,并补充其他方案。


一、最推荐:GitLab 备份恢复迁移(同版本)

适用于:

  • 服务器更换
  • 系统重装
  • 机房迁移

1. 原服务器备份

# 停止相关服务(减少数据不一致)
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 创建备份
gitlab-rake gitlab:backup:create

备份文件在:

/var/opt/gitlab/backups/
# 文件名类似:
1670000000_2023_12_01_gitlab_backup.tar

✅ 同时备份配置文件(非常重要):

/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json

2. 拷贝到新服务器

scp /var/opt/gitlab/backups/*.tar root@新服务器IP:/var/opt/gitlab/backups/
scp /etc/gitlab/gitlab.rb root@新服务器IP:/etc/gitlab/
scp /etc/gitlab/gitlab-secrets.json root@新服务器IP:/etc/gitlab/

3. 新服务器安装相同版本 GitLab

⚠️ 版本必须一致

查看原版本:

cat /opt/gitlab/version-manifest.txt | head -1

新服务器安装(示例 CentOS):

yum install -y gitlab-ce-原版本

或指定版本:

apt install gitlab-ce=原版本

4. 恢复备份

# 停止服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 恢复
gitlab-rake gitlab:backup:restore BACKUP=1670000000_2023_12_01

# 启动
gitlab-ctl reconfigure
gitlab-ctl start

二、整机 / 磁盘迁移(最快)

如果是:

  • 云服务器
  • 虚拟机

✅ 直接:

  • 快照
  • 镜像
  • 磁盘挂载

适合:

  • 版本不变
  • IP 可改

三、Docker GitLab 迁移

1. 备份数据卷

docker exec -t gitlab gitlab-backup create

2. 拷贝

  • /var/opt/gitlab
  • /etc/gitlab
  • /var/log/gitlab

3. 新机器启动相同镜像

docker run -d \
  --name gitlab \
  -v /srv/gitlab/config:/etc/gitlab \
  -v /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:同一版本

四、注意事项(非常重要)

✅ GitLab 版本必须一致
gitlab-secrets.json 不备份会导致:

  • CI Token 失效
  • Runner 无法注册
  • 加密数据无法解密

✅ 大仓库恢复较慢,耐心等待


五、迁移后检查

gitlab-rake gitlab:check SANITIZE=true

浏览器访问:

http://新服务器IP

如果你能告诉我:

  • GitLab 安装方式(Omnibus / Docker)
  • 是否同版本
  • 是否换 IP / 域名

我可以给你 更精确的迁移命令

0