Ubuntu环境下GitLab迁移完整步骤
curl、wget、apt-transport-https)。sudo gitlab-rake gitlab:backup:create/var/opt/gitlab/backups目录,文件名格式为时间戳_gitlab_backup.tar(如1716000000_2024_05_15_15.0.0_gitlab_backup.tar)。迁移前需停止GitLab核心服务,确保数据一致性。执行以下命令停止关键服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop nginx
(可选:若需更彻底的停止,可执行sudo gitlab-ctl stop停止所有服务)。
通过Omnibus包(推荐)安装GitLab Community Edition(CE)或Enterprise Edition(EE),步骤如下:
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -echo "deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab.listsudo apt-get updatesudo apt-get install gitlab-ce-y --allow-downgrades参数)。/var/opt/gitlab/backups目录(需确保目录权限为git:git)。可使用scp命令:sudo scp -r user@old-server-ip:/var/opt/gitlab/backups/* user@new-server-ip:/var/opt/gitlab/backups/sudo gitlab-rake gitlab:backup:restore BACKUP=时间戳1716000000;若备份目录下有多个文件,需明确指定)。/etc/gitlab/gitlab.rb,调整新服务器环境设置(如外部URL、SSL证书、数据库连接等)。示例:external_url 'http://new-gitlab-ip'nginx['ssl_certificate']和nginx['ssl_certificate_key'])sudo gitlab-ctl reconfigure,使配置生效。sudo gitlab-ctl startsudo gitlab-ctl enable)sudo gitlab-ctl status(确认所有服务均为“run”状态)。external_url,登录GitLab后验证仓库、用户、CI/CD配置、Wiki等数据是否完整。