一. GitLab的安裝
GitLab中文官網地址: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的更新
首次進行更新需要添加以下命令,否則更新會出錯
sudo touch /etc/gitlab/skip-auto-migrations
更新 GitLab
# 停止 GitLab 的運行
gitlab-ctl stop
# 更新 GitLab
sudo apt-get update && sudo apt-get install gitlab-ce
更新后的 GitLab 可能需要重新進行漢化
之后可以重新啟動 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
請先使用官方包安裝或升級完成,確認當前版本。
sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
確認漢化版本庫是否包含該版本的漢化標簽(-zh結尾)。
如果漢化版本庫中包含相同的版本就可以進行漢化,首先在本地 clone 或 fetch 漢化版本庫倉庫。
# 克隆漢化版本庫
git clone https://gitlab.com/xhang/gitlab.git
# 更新漢化版本庫
cd gitlab && git fetch
然后比較漢化標簽和原標簽,導出 patch 用的 diff 文件。
# 在 GitLab 文件夾下導出新版本的漢化補丁
cd gitlab
git diff v10.5.2 v10.5.2-zh > ../v10.5.2-zh.diff
然后使用 v10.5.2-zh.diff 文件對服務器進行更新。
# 停止 GitLab
sudo gitlab-ctl stop
# 回到包含? v10.5.2-zh.diff 文件的目錄下,對 GitLab 進行更新
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < v10.5.2-zh.diff
確定沒有 .rej 文件,重啟 GitLab 即可。
更新后再次漢化如果出現 The next patch would create the file XXXXX whitch is already exist 提示,選擇 y 確認即可。
sudo gitlab-ctl start
執行重新配置命令
sudo gitlab-ctl reconfigure
如果漢化中出現問題,請重新安裝 GitLab(注意備份數據)。
四. 其他問題
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'
然后在命令行執行:
sudo gitlab-ctl reconfigure
sudo gitlab-rake cache:clear RAILS_ENV=production
2.配置網址
打開`/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文件需要添加的內容
# xvde1
UUID=0b9c0e4b-e731-47b6-880d-c6c94b70ce4f /data? ? ? ? ? ext3? ? defaults? ? ? ? 0? ? ? 2
停止相關數據連接服務
gitlab-ctl stop unicorn
gitlab-ctl?stop?sidekiq
數據遷移
gitlab代碼數據默認目錄 /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
指定數據目錄
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' } })
執行重新配置命令
gitlab-ctl reconfigure
重啟 GitLab 即可。
sudo gitlab-ctl start
4.重新安裝修復GitLab
重新安裝包
sudo apt-get install gitlab-ce --reinstall? ?