欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在Ubuntu上快速搞定GitLab中文社区版的安装与升级指南

最编程 2024-02-16 13:27:11
...

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