温馨提示×

debian怎样迁移gitlab仓库

小樊
48
2026-09-26 16:40:32
栏目: 智能运维

在 Debian 上“迁移 GitLab 仓库”通常分为几种场景,我先按最常见需求给你讲,然后你再看自己是哪一种。


一、整机迁移 GitLab(最推荐:备份 + 恢复)

适用于:

  • 服务器更换
  • 系统重装
  • GitLab 版本一致或升级

1️⃣ 原服务器备份

sudo gitlab-rake gitlab:backup:create

备份文件在:

/var/opt/gitlab/backups/

同时备份配置文件:

sudo cp /etc/gitlab/gitlab.rb /backup/gitlab.rb
sudo cp /etc/gitlab/gitlab-secrets.json /backup/gitlab-secrets.json

2️⃣ 新 Debian 服务器安装同版本 GitLab

sudo apt update
sudo apt install gitlab-ee   # 或 gitlab-ce

3️⃣ 恢复备份

把备份文件复制到新服务器:

scp /var/opt/gitlab/backups/xxx_gitlab_backup.tar root@new:/var/opt/gitlab/backups/

恢复:

sudo gitlab-ctl stop
sudo gitlab-rake gitlab:backup:restore BACKUP=xxx
sudo gitlab-ctl start

✅ 最简单、最完整(含仓库、用户、CI)


二、只迁移 Git 仓库(不带用户/配置)

适用于:

  • 换 GitLab
  • 只保留代码

方法 1:git clone --mirror

git clone --mirror git@old-gitlab:group/project.git
cd project.git
git push --mirror git@new-gitlab:group/project.git

方法 2:批量导出(推荐大批量)

GitLab 有 导入/导出 功能:

  • 项目 → Settings → Export
  • 新 GitLab → New Project → Import

三、Docker GitLab 迁移

如果是 Docker:

docker exec -it gitlab gitlab-rake gitlab:backup:create

然后迁移:

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

四、常见问题

❓ 版本不一致?

  • 先升级旧 GitLab
  • 或新服务器装相同版本

❓ 仓库很大?

git gc --aggressive

你可以告诉我:

  1. 是 整个 GitLab 还是 单个仓库?
  2. 是 物理机 / 虚拟机 / Docker?
  3. GitLab CE 还是 EE?

我可以直接给你一套精准命令。

0 踩