CentOS 6.5环境安装GitLab私有代码托管项目管理程序记录

Gitlab,是一款开源的利用Ruby on Rails开发的项目管理程序,我们可以类似GITHUB一样用来存储代码、协同管理,且可以通过WEB界面进行访问公开的或者私人项目仓库。如果是我们个人项目,还是托管在GITHUB或者国内的GITCAFE或者CODING等服务商都是不错的。

Gitlab安装环境要求也是比较高的,如果希望能体现运转效率,官方的建议是需要2GB内存以上,SSD固态硬盘,CPU2核心以上配置。在这篇文章中,本站仅仅是记录下自己本地的安装过程,对于自己的有些脚本项目还是放在第三方托管。

第一、安装系统必备包

yum -y install wget curl gcc libxml2-devel libxslt-devel make openssh-server libyaml-devel postfix libicu-devel libcurl-devel libcurl readline-devel readline glibc glibc-devel openssl-devel openssl mysql++-devel postgresql-devel zlib-devel git

第二、安装开发工具

yum -y groupinstall \’Development Tools\’

第三、安装Redis和Nginx

yum -y install redis

yum -y install nginx

如果有遇到No package redis available问题,通过\”解决CentOS出现”No package redis available”提示问题\”给予解决的方法解决问题。

第四、检查和启动Nginx和Redis

chkconfig nginx on chkconfig redis on service redis start

第五、创建ruby存储和设置

mkdir /tmp/ruby && cd /tmp/ruby curl –progress ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz | tar xz cd ruby-2.1.0 ./configure –prefix=/usr/local/ make && make install

第六、安装 bundler和rails

gem install bundler gem install rails

第七、创建GitLab用户

useradd –comment \’GitLab CI\’ -m gitlab_ci

第八、抓取gitlab-ci

cd /home/gitlab_ci/ git clone https://github.com/gitlabhq/gitlab-ci.git cd gitlab-ci

第九、检查branch最新版本和设置权限目录

git checkout 5-0-stable mkdir -p tmp/pids mkdir -p tmp/sockets chmod -R 755 tmp/

第十、添加数据库

第十一、安装ruby开发工具

bundle –without development test

第十二、配置数据库文件

cp config/database.yml.mysql config/database.yml vim config/database.yml Set Database Host

以及看到下面

production: adapter: mysql2 encoding: utf8 reconnect: false database: gitlab_ci_production pool: 5 username: gitlab_ci password: \”g1tlabc1\” host: 10.79.0.85 # socket: /tmp/mysql.sock

第十三、继续设置主体环境

cp config/application.yml.example config/application.yml cp config/unicorn.rb.example config/unicorn.rb

更改主机URL以及设置HTTPS为FALSE

第十四、修改gitlab_ci用户目录权限

cd /home chown -R gitlab_ci:gitlab_ci gitlab_ci

第十五、返回到Gitlab-CI目录和填充MySQL表

cd gitlab_ci   // User Directory cd gitlab_ci   // Application Directory

第十六、安装Ruby

sudo -u gitlab_ci -H /usr/local/bin/bundle install –without development test postgres –deployment

第十七、运行和设置

su gitlab_ci /usr/local/bin/bundle exec /usr/local/bin/rake setup RAILS_ENV=production

第十八、设置cronjob

yum install -y crontabs su gitlab_ci bundle exec whenever -w RAILS_ENV=productionsu

第十九、安装init脚本

cp /home/gitlab_ci/gitlab-ci/lib/support/init.d/gitlab_ci /etc/init.d/gitlab_ci chmod +x /etc/init.d/gitlab_ci chkconfig gitlab_ci on

第二十、修改init脚本

%s/bundle/\\/usr\\/local\\/bin\\/bundle/g %s/rake/\\/usr\\/local\\/bin\\/rake/g

第二十一、修改/etc/sudoers目录允许gitlab_ci运行

找到: Defaults    requiretty 修改成: Defaults:gitlab_ci    !requiretty

第二十二、设置Nginx

cd /etc/nginx mkdir sites-available sites-enabled wget https://raw.github.com/gitlabhq/gitlab-ci/2-2-stable/lib/support/nginx/gitlab_ci -P /etc/nginx/sites-available/ ln -s /etc/nginx/sites-available/gitlab_ci /etc/nginx/sites-enabled/gitlab_ci

vim /etc/nginx/sites-available/gitlab_ci

修改项目如下:

# GITLAB CI # Maintainer: @randx # App Version: 2.0

upstream gitlab_ci { server unix:/home/gitlab_ci/gitlab-ci/tmp/sockets/gitlab-ci.socket; }

server { #listen 10.79.0.88:80 default_server;         # e.g., listen 192.168.1.1:80; #server_name gitlabci.laozuo.org;     # e.g., server_name source.example.com; listen       80 default_server; server_name  _; root /home/gitlab_ci/gitlab-ci/public;

access_log  /var/log/nginx/gitlab_ci_access.log; error_log   /var/log/nginx/gitlab_ci_error.log;

location / { try_files $uri $uri/index.html $uri.html @gitlab_ci; }

location @gitlab_ci { proxy_read_timeout 300; proxy_connect_timeout 300; proxy_redirect     off;

proxy_set_header   X-Forwarded-Proto $scheme; proxy_set_header   Host              $http_host; proxy_set_header   X-Real-IP         $remote_addr;

#proxy_pass http://gitlab_ci; proxy_pass http://127.0.0.1:8080; }

# adjust this to match the largest build log your runners might submit, # set to 0 to disable limit client_max_body_size 10m; }

第二十三、设置conf.d目录

cp /etc/nginx/sites-available/gitlab_ci /etc/nginx/conf.d/gitlab_ci.conf

第二十四、移动default.conf文件

mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.notused

第二十五、检查配置

nginx -t

第二十六、启动gitlab以及nginx

sudo gitlab_ci /etc/init.d/gitlab_ci start exit service nginx start

第二十七、设置当前用户

useradd –comment \’GitLab CI Runner\’ -m gitlab_ci_runner

第二十八、获取代码

su gitlab_ci_runner cd ~/ git clone https://gitlab.com/gitlab-org/gitlab-ci-runner.git cd gitlab_ci_runner

第二十九、安装gems

bundle install –deployment

第三十、设置用户

bundle exec ./bin/setup

第三十一、输入我们的安装路径

http://localhost:8080

第三十二、输入后台管理

http://gitlabci.laozuo.org/admin/runners

第三十三、设置init脚本

exit // get back to root cd /home/gitlab_ci_runner/gitlab-ci-runner/ cp ./lib/support/init.d/gitlab_ci_runner /etc/init.d/gitlab-ci-runner chmod +x /etc/init.d/gitlab-ci-runner chkconfig gitlab-ci-runner on

第三十四、启动

service gitlab-ci-runner start

到目前为止,勉强的将整个GitLab安装完毕,过程真的长,花费了我半天多时间,写教程真的是浪费时间的,有些步骤还省略掉了。后面看情况再补充。看看这样复杂,还是用GITHUB的好。

推荐站内搜索:asp.net 空间、cn 域名、域名备案信息查询、ip查询网、租用服务器、外贸主机、台湾主机、asp.net空间、注册 域名、国外服务器租用价格、