debian

Debian如何迁移GitLab数据

小樊
43
2025-11-05 11:41:31
栏目: 智能运维

Debian系统GitLab数据迁移详细步骤

一、迁移前准备

  1. 版本一致性检查:确保新旧Debian服务器上的GitLab版本完全一致(如均为16.x),版本不匹配会导致恢复失败。
  2. 备份旧服务器数据:迁移前必须完整备份旧服务器的所有关键数据,避免操作失误导致数据丢失。
  3. 新服务器环境准备:在新Debian服务器上安装与旧服务器相同版本的GitLab(参考GitLab官方文档安装步骤)。

二、旧服务器数据备份

1. 使用GitLab内置工具备份

运行以下命令创建完整备份(包含数据库、仓库、CI/CD配置等):

sudo gitlab-rake gitlab:backup:create CRON=1

备份文件默认保存在/var/opt/gitlab/backups目录,文件名格式为时间戳_gitlab_backup.tar(如1714905600_gitlab_backup.tar)。

2. 手动备份配置文件与附件

3. 传输备份文件到新服务器

使用scp命令将备份文件复制到新服务器(替换usernew-server-ip为实际值):

scp /tmp/gitlab_backup.tar.gz user@new-server-ip:/var/opt/gitlab/backups/
scp /tmp/gitlab_configs.tar.gz user@new-server-ip:/var/opt/gitlab/

三、新服务器数据恢复

1. 停止相关服务

恢复前需停止GitLab的数据连接服务,确保数据一致性:

sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq

2. 恢复备份文件

3. 恢复配置文件与附件

4. 更新配置(可选)

若新服务器的IP、域名或SSH端口发生变化,需修改/var/opt/gitlab/gitlab.rb文件:

gitlab_rails['gitlab_shell_ssh_port'] = 22  # 确认SSH端口
gitlab_rails['gitlab_shell_ssh_host'] = 'new-server-ip'  # 新服务器IP

修改后重新加载配置:

sudo gitlab-ctl reconfigure

四、重启服务与验证

  1. 启动GitLab服务

    sudo gitlab-ctl start
    

    或重启所有服务:

    sudo gitlab-ctl restart
    
  2. 验证数据完整性

    • 访问新服务器的GitLab实例(http://new-server-ip),使用旧账号登录。
    • 检查项目列表、仓库代码、CI/CD配置、用户权限等是否与旧服务器一致。
    • 测试代码推送(git push)和拉取(git pull)功能,确保仓库可正常访问。

注意事项

0
看了该问题的人还看了