1、简介
GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设为私有还要收费。GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面进行访问公开的或者私人项目,非常适合在团队内部使用。
在gitlab中有三个版本,分别是CE(社区版)、EE(企业版)、OM(RPM包完整版,里面包括nginx、redis等其它软件,比较大)。这里的编译安装版,是指CE版的源码安装。
2、国内社区安装源
下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
[root@iZm5e3d4r5i5ml889vh6esZ gitlab]# curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm
[root@iZm5e3d4r5i5ml889vh6esZ gitlab]# rpm -i gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm
3、配置、启动
[root@iZm5e3d4r5i5ml889vh6esZ gitlab]# gitlab-ctl reconfigure #自动配置文件权限,安装数据库(安装的时间很长)
[root@iZm5e3d4r5i5ml889vh6esZ gitlab]# gitlab-rake cache:clear RAILS_ENV=production #清空缓存
[root@iZm5e3d4r5i5ml889vh6esZ gitlab]# gitlab-ctl restart #重启所有 gitlab 组件
GitLab常用命令
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;
5、汉化
5.1 确定gitlab的版本
[root@iZm5e3d4r5i5ml889vh6esZ gitlab]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.8.4
5.2 Omnibus 安装汉化
#获取当前版本
gitlab_version=$(sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION)
假设当前版本为v9.0.0,并确认汉化版本库是否包含该版本的汉化标签(-zh结尾)。
如果具有相同版本的汉化标签,则首先在本地 clone 仓库。
# 克隆汉化版本库
git clone https://gitlab.com/xhang/gitlab.git
# 如果已经克隆过,则进行更新
git fetch
然后比较汉化标签和原标签,导出 patch 用的 diff 文件。
# 导出9.0.0 版本的汉化补丁
git diff v${gitlab_version} v${gitlab_version}-zh > ../${gitlab_version}-zh.diff
执行完毕后将生成当前版本的补丁文件,如 9.0.0-zh.diff
导入汉化补丁:
# 停止 gitlab
sudo gitlab-ctl stop
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 9.0.0-zh.diff
确定没有 .rej 文件,重启 GitLab 即可。
sudo gitlab-ctl start
执行重新配置命令
sudo gitlab-ctl reconfigure
如果汉化中出现问题,请重新安装 GitLab(注意备份数据)。
汉化的wiki地址:https://gitlab.com/xhang/gitlab/wikis/home
6、卸载gitlab
sudo gitlab-ctl stop #停止服务
rpm -e gitlab-ce #卸载gitlab
ps aux | grep gitlab #查看gitlab进程
kill -9 pid #杀掉gitlab第一个守护进程,就是带有好多.............的进程),杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程
find / -name gitlab|xargs rm -rf #除所有包含gitlab文件
7、访问
第一次进入需要设置root密码。
8、修改为真实ip
#vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: ip #真实ip
port: 80
https: false
重启gitlab
gitlab-ctl restart