温馨提示×

gitlab linux怎么迁移

小樊
33
2026-09-04 14:48:36
栏目: 智能运维

在 Linux 下迁移 GitLab,常见有 整机迁移 / 服务器更换数据迁移 两种场景。下面按最稳妥、官方推荐方式给你讲。


一、迁移前准备(两台机器都要做)

  1. GitLab 版本必须一致

    gitlab-rake gitlab:env:info
    

    源机和目标机版本要相同(小版本也要一致)。

  2. 备份当前 GitLab(源机)

    sudo gitlab-rake gitlab:backup:create
    

    备份文件在:

    /var/opt/gitlab/backups/
    

    文件名类似:

    1690000000_2023_07_22_gitlab_backup.tar
    
  3. 拷贝以下关键配置(非常重要)

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

二、目标机安装相同版本 GitLab

# 以 CentOS 为例
sudo yum install -y gitlab-ce-<版本号>

安装后 先不要启动服务


三、恢复备份(目标机)

  1. 把备份文件传到目标机

    scp 源机:/var/opt/gitlab/backups/*.tar /var/opt/gitlab/backups/
    
  2. 停止部分服务

    sudo gitlab-ctl stop puma
    sudo gitlab-ctl stop sidekiq
    
  3. 恢复备份

    sudo gitlab-rake gitlab:backup:restore BACKUP=1690000000_2023_07_22
    
  4. 恢复配置

    cp gitlab.rb /etc/gitlab/
    cp gitlab-secrets.json /etc/gitlab/
    
  5. 重新配置并启动

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

四、验证

sudo gitlab-rake gitlab:check SANITIZE=true

访问 Web 页面,确认:

  • 项目
  • 用户
  • CI/CD
  • Runner

都正常。


五、常见迁移方式对比

方式 适用场景 风险
官方 backup/restore 最推荐
直接拷贝 /var/opt/gitlab 同版本同机
Docker 卷迁移 容器部署
冷拷贝整盘 整机迁移

六、如果是 Docker GitLab

docker exec -t gitlab gitlab-backup create
docker cp gitlab:/var/opt/gitlab/backups ./backups

再在新机器恢复即可。


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

  • GitLab 版本
  • 是否 Docker
  • 是同机房还是跨云

我可以给你精确到命令的迁移方案

0