温馨提示×

怎样迁移ubuntu gitlab仓库

小樊
50
2026-10-19 12:12:40
栏目: 智能运维

在 Ubuntu 上“迁移 GitLab 仓库”通常指以下几种场景之一。我先按最常见情况说明,你可以对照自己的需求:


一、迁移 GitLab 上的项目仓库(代码 + 数据)

方式 1:使用 GitLab 自带导出 / 导入(推荐)

适用于:仓库迁移到另一个 GitLab 实例

1. 导出原仓库

  • 登录原 GitLab
  • 进入项目 → Settings → General → Advanced
  • 点击 Export project
  • 下载生成的 .tar.gz 文件

2. 导入到新 GitLab

  • 新 GitLab → New project → Import project → GitLab export
  • 上传刚才的 .tar.gz

✅ 会保留:

  • 代码仓库
  • Issues
  • Merge Requests
  • Wiki(部分)
  • 标签、里程碑

❌ 不包含:

  • CI Runner 配置
  • 某些 Webhook

二、只迁移 Git 仓库代码(纯 Git)

方式 2:镜像克隆 + 推送

适用于:只迁移代码,不关心 Issue 等

# 克隆完整镜像
git clone --mirror git@old-gitlab.com:group/project.git

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

✅ 保留:

  • 所有分支
  • 所有 tag

三、迁移整个 GitLab 服务(服务器级别)

方式 3:GitLab 备份恢复(整机迁移)

适用于:整台 Ubuntu 服务器迁移

1. 原服务器备份

sudo gitlab-rake gitlab:backup:create

备份文件在:

/var/opt/gitlab/backups/

2. 拷贝到新服务器

scp /var/opt/gitlab/backups/xxxxx_gitlab_backup.tar root@new-server:/var/opt/gitlab/backups/

3. 新服务器恢复

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

⚠️ 两台的 GitLab 版本必须一致


四、从 GitHub / 其他平台迁移到 GitLab

GitLab 支持:

  • New project → Import → GitHub
  • 或直接用 --mirror 方式

你可以告诉我:

  1. 是 仓库级 还是 服务器级 迁移?
  2. 是 同版本 GitLab 吗?
  3. 是否需要保留 Issue / MR?

我可以给你精确到命令的步骤。

0 踩