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空间、注册 域名、国外服务器租用价格、