温馨提示×

debian如何迁移gitlab

小樊
49
2026-09-05 14:04:08
栏目: 智能运维

在 Debian 上“迁移 GitLab”通常有三种常见场景,我先按最常见、最稳妥的方式说明,你可对号入座:


一、同版本 GitLab 整机迁移(推荐 ✅)

适用于:

  • 服务器更换
  • 系统重装但 GitLab 版本不变
  • 云服务迁移

1. 原服务器备份

sudo gitlab-rake gitlab:backup:create

备份文件在:

/var/opt/gitlab/backups/

同时备份配置文件:

sudo tar czf gitlab-config.tar.gz /etc/gitlab

2. 拷贝到新服务器

scp /var/opt/gitlab/backups/*.tar /etc/gitlab/ /new-server:/root/

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

查看原版本:

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

新服务器安装:

sudo apt-get install gitlab-ee=原版本
# 或 gitlab-ce

4. 恢复配置

sudo tar xzf gitlab-config.tar.gz -C /
sudo gitlab-ctl reconfigure

5. 恢复数据

sudo gitlab-rake gitlab:backup:restore BACKUP=时间戳

6. 重启

sudo gitlab-ctl restart

二、跨版本迁移(小版本升级)

只能向上升级,不能降级

步骤:

  1. 原服务器备份
  2. 新服务器安装稍高版本
  3. 恢复备份
  4. 再逐步升级到目标版本

⚠️ 跨大版本(如 14 → 16)需逐级升级


三、仅迁移仓库(不使用 GitLab 备份)

适合:

  • 不用 Issue / CI
  • 只要代码
git clone --mirror git@old-gitlab:group/project.git
cd project.git
git push --mirror git@new-gitlab:group/project.git

四、Docker 版 GitLab 迁移

重点是:

  • 挂载目录
/var/opt/gitlab
/etc/gitlab
/var/log/gitlab

直接整体拷贝 + 启动容器即可。


五、常见问题

1. 恢复后 502

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

2. 版本不匹配无法恢复

必须安装备份时相同或更高版本。

3. SSH Key 丢失

用户 SSH Key 在备份中,无需手动处理。


如果你能告诉我:

  • GitLab 版本
  • 是否 Docker
  • 是否跨大版本
  • 是整机迁移还是只迁代码

我可以给你精确命令

0