在CentOS系统上迁移和恢复GitLab的过程涉及多个步骤,包括安装依赖包、下载和安装GitLab RPM包、修改配置文件、备份数据以及恢复数据。以下是详细的步骤:
迁移步骤
1. 准备工作
- 查看Linux版本信息:
cat /proc/version cat /etc/redhat-release
- 安装依赖包:
yum install policycoreutils openssh-server openssh-clients postfix systemctl enable sshd systemctl start sshd systemctl enable postfix systemctl start postfix
2. 下载并安装GitLab RPM包
- 根据Linux版本选择相应的GitLab RPM包进行下载和安装。例如,对于CentOS 7,下载el7版本的GitLab。
cd /usr/local/rpm wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm chown -R git:git /usr/local/rpm rpm -ivh gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
- 如果安装过程中提示缺少某些包,如
policycoreutils-python
,则需要安装相应的包。
3. 修改配置文件
- 修改
/etc/gitlab/gitlab.rb
文件:external_url 'http://x.x.x.x' # 修改为服务器公网IP gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
- 确保防火墙启动成功:
systemctl status firewalld systemctl start firewalld
4. 备份数据
- 使用以下命令进行数据备份:
gitlab-backup create
备份文件会保存在/var/opt/gitlab/backups
目录下。
5. 恢复数据
- 将备份文件上传到新服务器上的
/var/opt/gitlab/backups
目录。 - 修改PostgreSQL配置:
vi /var/opt/gitlab/postgresql/data/postgresql.conf listen_addresses='*' vi /var/opt/gitlab/postgresql/data/pg_hba.conf local all all trust
- 重启PostgreSQL服务:
gitlab-ctl restart
- 设置GitLab为超级用户:
su gitlab gitlab-psql ALTER USER gitlab WITH SUPERUSER;
- 执行数据恢复:
gitlab-backup restore FORCE=yes
注意事项
- 版本兼容性:确保新服务器上的GitLab版本与备份时的版本相同。
- 备份空间:备份过程中会产生较大的备份文件,需预留足够的空间。
- 权限问题:恢复过程中可能遇到权限不足的问题,需确保有足够的权限进行恢复操作。
以上步骤涵盖了从准备工作到数据恢复的完整流程,确保了GitLab在CentOS系统上的顺利迁移与恢复。