文章更新記錄
20180303: 添加了GitLab更新部分的內(nèi)容;修改了命令中的版本號;使用Markdown重寫,對于代碼的應(yīng)用顯示效果更好。
一. GitLab的安裝
GitLab中文官網(wǎng)地址:https://www.gitlab.com.cn/
使用官方推薦的Omnibus 包安裝方法
添加 GitLab 鏡像源并安裝
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
配置并啟動 GitLab
sudo gitlab-ctl reconfigure
二. GitLab的更新
首次進(jìn)行更新需要添加以下命令,否則更新會出錯
sudo touch /etc/gitlab/skip-auto-migrations
更新 GitLab
# 停止 GitLab 的運(yùn)行
gitlab-ctl stop
# 更新 GitLab
sudo apt-get update && sudo apt-get install gitlab-ce
更新后的 GitLab 可能需要重新進(jìn)行漢化
之后可以重新啟動 GitLab
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
三. GitLab中文配置
獲取GitLab中文版本:
GitLab 8.8之前 https://gitlab.com/larryli/gitlab
GitLab 8.8之后 https://gitlab.com/xhang/gitlab
請先使用官方包安裝或升級完成,確認(rèn)當(dāng)前版本。
sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
確認(rèn)漢化版本庫是否包含該版本的漢化標(biāo)簽(-zh結(jié)尾)。
如果漢化版本庫中包含相同的版本就可以進(jìn)行漢化,首先在本地 clone 或 fetch 漢化版本庫倉庫。
# 克隆漢化版本庫
git clone https://gitlab.com/xhang/gitlab.git
# 更新漢化版本庫
cd gitlab && git fetch
然后比較漢化標(biāo)簽和原標(biāo)簽,導(dǎo)出 patch 用的 diff 文件。
# 在 GitLab 文件夾下導(dǎo)出新版本的漢化補(bǔ)丁
cd gitlab
git diff v10.5.2 v10.5.2-zh > ../v10.5.2-zh.diff
然后使用 v10.5.2-zh.diff 文件對服務(wù)器進(jìn)行更新。
# 停止 GitLab
sudo gitlab-ctl stop
# 回到包含 v10.5.2-zh.diff 文件的目錄下,對 GitLab 進(jìn)行更新
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < v10.5.2-zh.diff
確定沒有 .rej 文件,重啟 GitLab 即可。
更新后再次漢化如果出現(xiàn) The next patch would create the file XXXXX whitch is already exist 提示,選擇 y 確認(rèn)即可。
sudo gitlab-ctl start
執(zhí)行重新配置命令
sudo gitlab-ctl reconfigure
如果漢化中出現(xiàn)問題,請重新安裝 GitLab(注意備份數(shù)據(jù))。
四. 其他問題
1.GitLab頭像無法正常顯示
原因是gravatar被墻,解決辦法是編輯/etc/gitlab/gitlab.rb,將
#gitlab_rails['gravatar_plain_url'] ='http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
修改為:
gitlab_rails['gravatar_plain_url'] ='http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
然后在命令行執(zhí)行:
sudo gitlab-ctl reconfigure
sudo gitlab-rake cache:clear RAILS_ENV=production
2.配置網(wǎng)址
打開/etc/gitlab/gitlab.rb,將external_url ='http://git.example.com'修改為自己的IP地址:http://xxx.xx.xxx.xx,,
sudo gitlab-ctl reconfigure
3.更改倉庫位置
首先查看磁盤掛載情況
df -hl
fdisk -lu
查看一個磁盤的UUID并掛載磁盤
blkid /dev/xvde1
/etc/fstab文件需要添加的內(nèi)容
# xvde1
UUID=0b9c0e4b-e731-47b6-880d-c6c94b70ce4f /data ext3 defaults 0 2
停止相關(guān)數(shù)據(jù)連接服務(wù)
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
進(jìn)行數(shù)據(jù)遷移,例如gitlab代碼數(shù)據(jù)默認(rèn)目錄 /var/opt/gitlab/git-data/repositories,遷移目的地為 /data
cp -rp /var/opt/gitlab/git-data/repositories/ /data
#or
cp -rp /var/opt/gitlab /data
修改gitlab配置文件
vim /etc/gitlab/gitlab.rb
指定數(shù)據(jù)目錄
git_data_dir "/data"
git_data_dirs({"default" = "/data"})
# git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data", 'gitaly_address' => 'unix:/data/gitlab/gitaly/gitaly.socket' } })
執(zhí)行重新配置命令
gitlab-ctl reconfigure
重啟 GitLab 即可。
sudo gitlab-ctl start
4.重新安裝修復(fù)GitLab
重新安裝包
sudo apt-get install gitlab-ce --reinstall