本文檔只適用於Centos7中安裝gitlab,其他linux系統安裝方式點擊這裡 一.安裝 1. 安裝和配置必需的依賴項
第一步.系統防火牆開啟HTTP訪問和SSH訪問
sudo yum install -y curl policycoreutils-python openssh-serversudo systemctl enable sshdsudo systemctl start sshdsudo firewall-cmd --permanent --add-service=httpsudo systemctl reload firewalld
第二步.安裝postfix郵件伺服器,如果想使用其他的解決方案來寄送電子郵件,請跳過這一步,配置其他的SMTP伺服器後再安裝Gitlab
sudo yum install postfixsudo systemctl enable postfixsudo systemctl start postfix
啟動postfix時有可能提出如下錯誤
解決方案:
修改/etc/postfix/main.cf配置
inet_protocols = ipv4 inet_interfaces = all
2.開始安裝Gitlab
第一步.添加Gitlab安裝包
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
第二步.安裝Gitlab包,更改http://gitlab.example.com為你實際的訪問URL
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee
3.訪問http://gitlab.example.com,檢查是否安裝成功
在第一次訪問時,您將被重新導向到一個密碼重設螢幕,預設登入帳號為:root 二.Gitlab啟動、停止和重啟
# 啟動gitlab所有組件sudo gitlab-ctl start # 停止gitlab所有組件sudo gitlab-ctl stop # 重啟gitlab所有組件sudo gitlab-ctl restart # 查看gitlab狀態sudo gitlab-ctl status
三.Gitlab伺服器遷移
注意事項:兩台gitlab服務的版本必須保持一致,否則匯入資料時會提示版本不相容問題,如下圖
第一步:備份原伺服器上的代碼,執行以下命令
gitlab-rake gitlab:backup:create RAILS_ENV=production
PS: 備份後的檔案一般是位於/var/opt/gitlab/backups下, 自動組建檔案名檔案名稱如1481529483_gitlab_backup.tar
第二步:將第一步產生的tar檔案拷貝到新伺服器上相應的backups目錄下 可以利用scp命令或其他方式進行拷貝,scp命令拷貝如下
scp 使用者名稱@伺服器IP:/var/opt/gitlab/backups/1481529483_gitlab_backup.tar /var/opt/gitlab/backups
第三步:資料恢複,執行命令
gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1481529483
PS:BACKUP的時間點必須與原伺服器備份後的檔案名稱一致,此過程如果tar包檔案越大,耗時越長,執行過程中有次確認,輸入yes即可。 第四步:錯誤解決(如果可以正常訪問可以忽略) 錯誤描述:頁面可以正常訪問,點擊具體某一個項目是頁面提示500錯誤 解決辦法: 1. 覆蓋原來gitlab的 db_key_base 到新的gitlab ,db_key_base 位置在 /etc/gitlab/gitlab-secrets.json 2.執行以下命令 EE版執行: sudo gitlab-rails runner "Project.where(mirror: false).where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }" CE版執行:sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }" 3.重啟gitlab,執行:gitlab-ctl restart