在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包:
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頁面,使用舊服務器的用戶名和密碼登錄,驗證遷移是否成功。