在Debian上迁移GitLab数据库的步骤如下:
-
服务器环境信息:
- 旧GitLab服务器地址:192.168.2.199
- 新GitLab服务器地址:192.168.2.200
-
在新服务器安装相同版本的GitLab:
- 查看原GitLab版本号:
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 在新服务器上安装相同版本的GitLab(以GitLab 16.2.4为例):
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.2.4-ce.0.el7.x86_64.rpm yum -y install gitlab-ce-16.2.4-ce.0.el7.x86_64.rpm
- 查看原GitLab版本号:
-
备份原GitLab数据:
- 备份配置文件
gitlab.rb
和gitlab-secrets.json
:scp /etc/gitlab/gitlab.rb root@192.168.2.200:/etc/gitlab/ scp /etc/gitlab/gitlab-secrets.json root@192.168.2.200:/etc/gitlab/
- 数据备份:
gitlab-rake gitlab:backup:create
- 传输备份到新服务器:
mkdir -p /var/opt/gitlab/backups scp /var/opt/gitlab/backups/1725431200_2024_09_04_16.2.4_gitlab_backup.tar root@192.168.2.200:/var/opt/gitlab/backups/ chmod 777 /var/opt/gitlab/backups/1725431200_2024_09_04_16.2.4_gitlab_backup.tar
- 备份配置文件
-
还原GitLab数据:
- 停止unicorn和sidekiq服务,puma服务:
gitlab-ctl stop nginx gitlab-ctl stop puma gitlab-ctl stop unicorn gitlab-ctl stop sidekiq
- 恢复数据:
gitlab-rake gitlab:backup:restore BACKUP=1725431200_2024_09_04_16.2.4
- 替换
gitlab-secrets.json
文件:scp /etc/gitlab/gitlab-secrets.json root@192.168.2.200:/etc/gitlab/
- 重启GitLab:
gitlab-ctl restart
- 停止unicorn和sidekiq服务,puma服务:
-
访问GitLab:
- 在浏览器中输入新服务器的IP地址,例如:http://192.168.2.200,完成GitLab恢复。
请注意,以上步骤可能因GitLab版本和服务器配置的不同而有所差异。在执行迁移之前,请确保详细阅读GitLab官方文档,并在测试环境中进行充分测试。