gitlab安装

发布: 2013-12-23 23:02

gitlab是与github类似的git开放代码管理平台,不过gitlab是开源的版本,
可以在自己服务器上搭建类似github的代码管理平台。
gitlab是使用ruby on rails开发的,目前来说已经比较成熟。
在经历上次安装5.x版本的gitlab失败后,最近有抽了点时间,
为了能推动使用git库开发,再次尝试安装了一次,还算比较满意。
现在把安装过程和安装中遇到的问题与解决办法简单总结下来,
以备后续参考。

安装版本选择,
这次选用的是最新的6.4.0版本。
其他主要使用的包版本如下:
https://github.com/gitlabhq/gitlabhq/archive/v6.4.0.tar.gz
centos-6.5-x86_64
ruby-2.0.0-338
python2.7
mysql-5.5
nginx-1.4.3
redis-2.8
git-1.8.5.2

注,在gitlab安装手册上,提示可以使用ruby-1.9.4-448。
开始的时候安装的这个版本,却发现无法编译支持ruby-openssl模块。
可能是手册更新稍慢,不适合这个centos系统版本。
后来改用了ruby-2.0才解决了这个问题。

由于centos-6.5自带的这些包版本都比较低,所以这些包除上python2之外,
都是自己定制安装在非系统目录,这在后面的配置中也产生过问题。
如果方便的话,还是把这些包打包成centos6的rpm安装到系统目录会简单些。

环境准备:
创建git用户,主目录为/home/git
安装ruby-2.0到/usr/local/ruby
安装git-1.8.5.2到/usr/local/git
安装redis-2.8到/usr/local/redis
安装nginx-1.4.3到/usr/local/nginx
使用yum install python2安装python2
mysql使用现有一台远程服务

接下来按照安装手册,
下载gitlab-6.4.0.tar.gz解压到/home/git/gitlab
下载gitlab-shell并按照手册中的命令执行安装。

配置,配置文件列表,
~/gitlab/config/gitlab.yml <= gitlab.yml.example
~/gitlab/config/database.yml <= database.yml.example
~/gitlab-shell/config.yml <= config.yml.example


重要配置项说明:
gitlab.yml:
host: 这指的是最终在gitlab平台上显示的git库地址主机名,也就是git库url中的域名。
port: 提供的git库url的端口,一般是80,指的是前端的nginx代理需要配置的端口。
如果配置为localhost:8001,那么最后创建gitlab项目的git库地址为:
http://localhost:8001/username/projectname.git
所以,一般情况下,host配置为提供git服务的域名,如git.qtchina.net,
而端口设置为80,那么地址格式就比较好,这样地址格式为,
http://git.qtchina.net/username/projectname.git
https: 这个参数表示是否支持安全http协议访问git库。
这个涉及到证书的安装配置,暂时设置为false了。
database.yml:
这是gitlab使用的数据库配置,支持postgresql和mysql两种数据库。
本次安装使用的现有mysql数据库。
它的配置项比较简单,也就是数据库的ip地址,端口,用户名密码。
但注意,这里gitlab区分了不同模式下的数据库,像产品级环境数据库production一段,
development开发环境数据库一段和test开发环境数据库一段。
在尝试区别并不太明显,全部按照产品级环境配置,其他的忽略。
gitlab-shell/config.yml:
gitlab_url: 指的是gitlab的首页地址,该模块根据这个地址拼出gitlab api的地址并调用。
像以现在的配置环境,这个地址配置为git.qtchina.net。
其实这个地址和git库的地址一致,是因为gitlab在内部根据访问请求,
准确路由到git库或者是web页面服务。
redis: 这个提供gitlab内部事件队列的快速存储。设置为本地安装的redis即可。
gitlab-shell模块主要负责的是维护磁盘上的git库和用户验证工作。

对gitlab代码的一些修改,
添加支持wiki中文标题
添加支持git库名带"."的情况
修正其他地方移动过来的git库无法修改项目信息的问题。
修改默认地repos地址

启动与关闭,
/etc/init.d/gitlab start|stop
日志查询,~/gitlab/logs/*

开启的端口号,
127.0.0.1:8080
*:80
*:6379
*:3306

启动的进程,
unicorn_rails master
sidekiq 2.17.0 gitlab [0 of 25 busy]
python2 /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/gitlab-pygments.rb-0.5.4/lib/pygments/mentos.py
python2 /home/git/gitlab/vendor/bundle/ruby/2.0.0/gems/gitlab-pygments.rb-0.5.4/lib/pygments/mentos.py
unicorn_rails worker[0] -D -c /home/git/gitlab/config/unicorn.rb -E production
unicorn_rails worker[1] -D -c /home/git/gitlab/config/unicorn.rb -E production


原文: http://qtchina.tk/?q=node/778

Powered by zexport