CentOS上迁移GitLab的核心步骤如下:
-
备份数据
使用GitLab备份工具生成备份文件,存储至/var/opt/gitlab/backups目录:sudo gitlab-rake gitlab:backup:create(若需备份数据库,需额外执行
pg_dump命令导出PostgreSQL数据)。 -
准备新服务器
- 安装依赖包:
sudo yum install -y curl policycoreutils openssh-server postfix sudo systemctl enable --now sshd postfix - 配置防火墙,开放HTTP(80)、HTTPS(443)、SSH(22)端口。
- 安装依赖包:
-
安装GitLab
通过Omnibus包安装,指定外部URL(可选):curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash sudo yum install gitlab-ce sudo vim /etc/gitlab/gitlab.rb # 设置 external_url(如 'http://新服务器IP') sudo gitlab-ctl reconfigure sudo gitlab-ctl restart -
恢复数据
- 将备份文件从旧服务器传输至新服务器:
scp -r old-server:/var/opt/gitlab/backups /var/opt/gitlab/ - 停止GitLab服务后恢复数据:
sudo gitlab-ctl stop unicorn sidekiq sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名(不含路径) sudo gitlab-ctl start
- 将备份文件从旧服务器传输至新服务器:
-
验证迁移
访问新服务器的GitLab URL,检查用户、项目、CI/CD配置是否正常,确认无报错。
注意事项:
- 若使用外部数据库(如PostgreSQL),需手动导出/导入数据库。
- 确保新旧服务器GitLab版本一致或兼容,避免版本冲突。
- 迁移后需重新配置SSL证书(若有)。