Debian环境下GitLab数据迁移步骤
/etc/gitlab/gitlab.rb(GitLab主配置文件)和/etc/gitlab/gitlab-secrets.json(包含数据库密码、加密密钥等敏感信息)到本地或临时存储。sudo gitlab-rake gitlab:backup:create,默认备份文件存放在/var/opt/gitlab/backups/目录,文件名格式为时间戳_gitlab_backup.tar。curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash。sudo apt-get install gitlab-ce=16.2.4-ce.0),避免版本冲突。/etc/gitlab/gitlab.rb,设置external_url(如http://新服务器IP)等必要参数,后续可根据旧服务器配置调整。scp命令将旧服务器的备份文件(含配置文件和数据备份)复制到新服务器对应目录,例如:
scp /etc/gitlab/gitlab.rb root@新服务器IP:/etc/gitlab/,scp /etc/gitlab/gitlab-secrets.json root@新服务器IP:/etc/gitlab/。scp /var/opt/gitlab/backups/1725431200_2024_09_04_16.2.4_gitlab_backup.tar root@新服务器IP:/var/opt/gitlab/backups/。sudo gitlab-ctl stop unicorn sidekiq nginx。sudo gitlab-rake gitlab:backup:restore BACKUP=1725431200_2024_09_04_16.2.4,恢复过程中需确认覆盖现有数据(输入yes)。gitlab-secrets.json文件复制到新服务器/etc/gitlab/目录,覆盖现有文件(此文件包含数据库密码等关键信息,必须替换)。rsync命令同步/var/opt/gitlab/repositories/(仓库目录)、/var/opt/gitlab/shared/(附件、LFS文件等)目录到新服务器,例如:rsync -avz /var/opt/gitlab/repositories/ root@新服务器IP:/var/opt/gitlab/。sudo gitlab-ctl reconfigure,根据gitlab.rb中的配置更新GitLab服务设置(如数据库连接、端口等),确保配置生效。sudo gitlab-ctl start,并检查服务状态(sudo gitlab-ctl status),确保无异常。external_url(如http://新服务器IP),使用旧服务器账号登录,检查项目、用户、权限等数据是否完整。/var/log/gitlab/目录下各服务日志),确认无错误或警告信息。