Ubuntu系统GitLab中文社区版安装和更新


文章更新记录
20180303: 添加了GitLab更新部分的内容;修改了命令中的版本号;使用Markdown重写,对于代码的应用显示效果更好。


一. 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

你可能感兴趣的:(Ubuntu系统GitLab中文社区版安装和更新)