GitLab快速搭建及中文汉化

Posted by Nutlee on 2016-08-11

新公司迟迟没有部署项目管理和版本控制工具,给经理建议过几次,迫于大家都在忙,那只有我这么一个闲人来动手了😄😄

Ubuntu

先说句题外话,我在这之前虽然有用过 Ubuntu 的 VPS 但确实用过 Ubuntu 桌面版,所以一切都是摸索着来的,如有拙劣操作还请指正。至于为什么选 Ubuntu 做 GitLab 服务端而不是其他 Linux ……其实只是因为我觉着 Ubuntu(乌班图)比较好听 😂

Ubuntu 桌面版安装不做展开,基本步骤:

  • 使用 Universal USB Installer 将 Ubuntu 镜像刻录进U盘
  • 电脑从U盘引导,按提示选则即可,和 Windows U盘安装相似

最好准备好科学上网工具。

GitLab

其实官网步骤很清楚也很简洁,GitLab官网    GitLab 中文网

此处需要注意的是,如果准备装下面的汉化包,请先到 Larry Lixuan / GitLab 中文社区版 查看代码 tag (注意是 tag 不是 branch) 确定汉化包支持的最新版本,因为通常情况下汉化包总会滞后于最新版本,所以请根据此决定安装版本。当然如果不需要汉化包直接选择最新版好了。

安装配置依赖项

如想使用 Postfix 来发送邮件,在安装期间请选择’Internet Site’. 您也可以用 sendmai 或者配置SMTP服务使用SMTP发送邮件。(此处可以随便设置,以后可以更改)

在 Centos 6 和 7 系统上, 下面的命令将在系统防火墙里面开放HTTP和SSH端口。

1
sudo apt-get install curl openssh-server ca-certificates postfix

添加GitLab仓库,并安装到服务器上

1
2
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce

使用上述操作如果不配合科学上网是非常非常非常慢的,同时如果你不习惯使用命令管道的安装方式, 你可以在这里下载安装脚本或者手动下载您使用的系统相应的安装包(RPM/Deb) 然后安装。

1
2
curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce-XXX.deb/download
dpkg -i gitlab-ce-XXX.deb

另外,如果你选择在 Ubuntu 中使用浏览器手动下载上面提到的安装包(RPM/Deb),需要注意 Ubuntu 中浏览器默认会下载到 “下载(Download)”路径下,所以在进行手动安装时需要。

1
2
cd 下载
sudo dpkg -i gitlab-ce-XXX.deb

启动GitLab

1
sudo gitlab-ctl reconfigure

使用浏览器访问GitLab

首次访问GitLab,系统会让你重新设置管理员的密码,设置成功后会返回登录界面。
管理员用户名和密码是

1
2
用户名:root
密码:5ivel!fe

如果一时忘记了访问地址,使用 vi 操作查看配置文件中的 external_url 字段能看到

1
sudo vi /etc/gitlab/gitlab.rb

同时修改 external_url 字段为本机 IP 可以实现局域网内都能访问到 GitLab web页面。
注:vi 的简单操作

  • 按 x 删除当前字符
  • 按 i 切换到插入状态
  • 按 dd 删除当前行
  • 按 esc 退出插入状态
  • 输入 :wq 按回车保存并退出 vi 状态
  • 输入 :q 按回车不保存直接退出 vi 状态

至此,GitLab 的基本安装完毕,可以初步使用了,需要注意的是这只是最简化的安装步骤,对 gitlab.rb 中的各种配置并未深究。如果不需要汉化包可到此结束,感谢 ❤

汉化包安装

网上关于 GitLab 的中文汉化包教程很多,但截至到目前为止,我并没有找到一个确实可用的,可能是因为最近几个版本更新变化 ?以下是我的安装方法,绝对简单可用,来自网上各种方案的修改。

检测当前部署 GitLab 版本

1
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

根据这个版本到第二节中提到的 Larry Lixuan / GitLab 中文社区版 查看汉化是否支持,注意只要前两位版本号一致就好,如 v8.8.0 是支持 8.8.6 的。

克隆 GitLab 源代码仓库

1
2
3
4
# 克隆 GitLab.com 仓库
git clone https://gitlab.com/larryli/gitlab.git
#或 Gitcafe.com 镜像,速度更快
git clone https://gitcafe.com/larryli/gitlab.git

建议使用 GitLab.com 吧,慢就慢点好在不是很大。

打上汉化补丁

例如我使用的是 8.8.7 版本 查看后知道可以使用 v8.8.0 的汉化包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 注意要先进入克隆出来的 GitLab 文件夹里
cd gitlab
# 也可以在这里查看 tag 版本
# git tag
# 比对不同,diff 结果便是汉化补丁
# 注意此处比较的是 tag
sudo git diff v8.8.0..8.8.0.zh1 > /tmp/8.8.diff
# 停止 gitlab
sudo gitlab-ctl stop[README](media/README.md)
# 应用汉化补丁
cd /opt/gitlab/embedded/service/gitlab-rails
git apply /tmp/8.8.diff
# 启动gitlab
sudo gitlab-ctl start

注意!!!


这步操作
1
sudo git diff v8.8.0......8.8.0.zh1 > /tmp/8.8.diff

网上一般都是

1
sudo git diff origin/8-8-stable......8-8-zh > /tmp/8.8.diff

我认为理论上可行,远端仓库也确实有这两个分支,但不晓得为什么一直失败,希望有懂得的同学指教一下。
此处是我翻阅了N多网站,最后通过谷歌在一个角落里找到的,再次感谢谷歌 ❤ 传送门

现在打开配置的地址,就能看到 GitLab 已经是中文了。😁

彩蛋

卸载

1
2
3
4
5
6
7
8
# Stop gitlab and remove its supervision process
sudo gitlab-ctl uninstall
# Debian/Ubuntu
sudo dpkg -r gitlab-ce
# Redhat/Centos
sudo rpm -e gitlab-ce

参考资料:
GitLab 官网
GitLab 中文网
快速安装GitLab并汉化
Larry / GitLab 中文社区版
GitLab 汉化指南(安装/升级)
GitLab 中文文档
GitLab 的简单使用
SMTP settings