在CentOS服务器上安装已下载的三方.rpm文件(如GitLab 15.3.3-jh版本),需遵循依赖检查、权限控制、版本验证三大核心步骤,具体操作如下:
一、使用yum localinstall安装(推荐)
此命令会自动解决依赖关系并安装:
bash
sudo yum localinstall /path/to/gitlab-15.3.3-jh.rpm -y
-y参数表示自动确认所有提示,避免交互中断。
配置GitLab
编辑/etc/gitlab/gitlab.rb,设置external_url为新服务器域名或IP:
ruby
external_url 'https://新服务器域名或IP'
运行以下命令应用配置并启动服务:
bash
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
检查服务状态
bash
sudo gitlab-ctl status # 所有服务应为run:状态
sudo gitlab-rake gitlab:check # 验证GitLab各项功能是否正常

二、从旧GitLab服务器备份数据
创建备份包:执行以下命令,GitLab将打包所有仓库、数据库、附件等数据。

bash
sudo gitlab-backup create
或者使用旧版命令:sudo gitlab-rake gitlab:backup:create。
备份文件默认生成在 /var/opt/gitlab/backups/ 目录下,文件名类似 1717411200_2025_06_02_15.3.3-jh_gitlab_backup.tar。

备份关键配置文件:这一步至关重要。备份命令不会包含这些配置文件,必须手动复制。

bash
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /你的安全备份路径/
gitlab-secrets.json:包含数据库加密密钥、2FA秘密等,丢失将导致所有加密信息无法解密。

gitlab.rb:主配置文件。

三、迁移备份文件并恢复
传输文件:将备份文件和配置文件从旧服务器复制到新服务器。

bash
从旧服务器操作,将备份包传到新服务器的备份目录
scp /var/opt/gitlab/backups/备份文件名.tar 新服务器用户名@新服务器IP:/var/opt/gitlab/backups/
传输配置文件
scp /你的安全备份路径/gitlab-secrets.json /你的安全备份路径/gitlab.rb 新服务器用户名@新服务器IP:/tmp/
在新服务器上恢复:

停止相关服务:

bash
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
恢复配置文件:

bash
sudo cp /tmp/gitlab-secrets.json /tmp/gitlab.rb /etc/gitlab/
执行恢复命令:BACKUP= 后面填写备份文件名的时间戳前缀(例如 1717411200_2025_06_02_15.3.3-jh)。

bash
sudo gitlab-backup restore BACKUP=备份文件的时间戳前缀
重新配置并启动:

bash
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

四、验证迁移结果
打开浏览器,访问新服务器的 EXTERNAL_URL。

使用旧服务器的管理员账户登录。

检查所有用户、群组、项目、提交历史、议题、合并请求是否完整。

尝试进行代码拉取、推送等操作,确保仓库功能正常

标签: gitlab

添加新评论