在CentOS系统上迁移GitLab涉及多个步骤,包括安装依赖、下载和安装GitLab包、修改配置文件、备份数据以及在新服务器上进行恢复。以下是一个详细的迁移指南:
准备工作
-
查看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
-
下载并安装GitLab包:
- 根据Linux版本选择对应的GitLab版本包进行下载。例如,对于CentOS 7,下载el7版本的GitLab。
cd /usr/local/rpm wget [GitLab包下载链接] chown -R git:git /usr/local/rpm rpm -ivh gitlab-ce-[版本号]-ce.0.el[版本号].x86_64.rpm
如果安装过程中提示缺少某些依赖包,例如
policycoreutils-python
,则需要安装相应的包:yum install policycoreutils-python
迁移步骤
-
备份旧服务器上的数据:
在旧服务器上执行备份命令,备份数据通常位于
/var/opt/gitlab/backups
目录下。gitlab-rake gitlab:backup:create
-
传输备份文件到新服务器:
使用
scp
命令将备份文件传输到新服务器上。scp root@[旧服务器IP]:/var/opt/gitlab/backups/[备份文件名] [新服务器IP]:/var/opt/gitlab/backups/
-
在新服务器上恢复数据:
在新服务器上,停止GitLab服务,恢复备份数据,然后重新启动GitLab服务。
gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-rake gitlab:backup:restore [备份文件名] gitlab-ctl start
-
修改配置文件:
在新服务器上,修改GitLab配置文件
/etc/gitlab/gitlab.rb
,确保以下配置正确:external_url 'http://[新服务器IP]' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xchensir.qq.com" gitlab_rails['smtp_password'] = "***************" gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true
修改完成后,执行以下命令重新配置GitLab并重启服务:
gitlab-ctl reconfigure gitlab-ctl restart
-
验证迁移:
访问新服务器的GitLab页面,使用旧服务器的用户名和密码登录,验证迁移是否成功。