GitLab完整搭建(版本6.3.1)

CentOS6.7安装gitlab

GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

前期规划:

1).操作系统Centos 6.7 Minimal

#Distribution      : CentOS 6.7 Minimal

#GitLab version    : 6.3.1

#GitLab-shell      : 1.8.0

#Ruby version      : ruby 2.0.0p353(2013-11-22 revision 43784) [x86_64-linux]

#Gem version       : 2.0.14

#Redis-server      : Redis server version2.4.10 (00000000:0)

#Web Server        : Nginx/1.0.15

#Database          : MariaDB 10.0.21

2).项目地址:https://github.com/gitlabhq/gitlabhq

参考文档:http://doc.gitlab.com/ce/install/installation.html#clone-the-source

https://github.com/lubia/gitlab-recipes/tree/master/install/centos

3).主机名称及IP地址(测试主机IP地址)

Moxiaokai     192.168.3.251

4).同步主机系统时间

#/usr/sbin/ntpdate -us stdtime.gov.hk ntp.sjtu.edu.cn;hwclock -w;

第一,配置yum源及安装依赖包:

1).安装epel源

#yum-y install epel-release -y

2.安装puias源

#vi/etc/yum.repos.d/puias-computational.repo
[PUIAS_6_computational]
name=PUIAScomputational Base $releasever - $basearch
mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
#cd/etc/pki/rpm-gpg/
#wget -q http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias
#rpm --import RPM-GPG-KEY-puias
#yum repolist

第二,安装依赖包:

1).基础依赖包

#yum-y install gdbm-devel glibc-devel tcl-devel openssl-devel curl-develexpat-devel db4-devel byacc libyaml libyaml-devel libffi libffi-devel libxml2libxml2-devel libxslt libxslt-devel libicu libicu-devel sudo wget patchlogwatch logrotate perl-Time-HiRes cmake libcom_err-devel.i686libcom_err-devel.x86_64 nodejs python-docutils

2).升级系统所有软件包到最新

#yum-y update

3).安装postfix邮件服务器

#yuminstall postfix

第三,安装git:

1).移除低版本git

#yumremove git -y

备注:默认centos的git版本是1.7.10,必须删除后,再下载源码进行安装

2).安装git的依赖包

#yum-y install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-developenssl-devel

3).编译安装git

#mkdir/tmp/git && cd /tmp/git 
#curl--progress https://www.kernel.org/pub/software/scm/git/git-2.5.1.tar.gz | tarxz
#cd  git-2.5.1/ && ./configure --prefix=prefix=/usr/local/git  && make&& make install

4).配置换变量

#echo "export PATH=/usr/local/git/bin:\$PATH" >> /etc/profile
#source /etc/profile

5).验证程序

# which git
#git--version

第四,安装ruby

1).移除低版本ruby

ruby版本需要2.0+,所以先卸载系统已存在的

#yumremove ruby

#如果是源码安装的

cd(your-ruby-source-path) && make uninstall

2).编译安装ruby

#mkdir/tmp/ruby && cd /tmp/ruby
#curl--progress https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz |tar xz
#cdruby-2.0.0-p353 && ./configure --prefix=/usr/local/ruby--disable-install-rdoc && make && make install

3).配置换变量

#echo "export PATH=/usr/local/ruby/bin:\$PATH" >> /etc/profile
#source /etc/profile

4).验证程序

#which ruby
#ruby --version

5).安装bundler

删除官方源使用淘宝的镜像

#gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/ 
#gem sources -l

#gem install bundler --no-rdoc

# gem install charlock_holmes

第五,创建系统用户(git)

#adduser --system --shell /bin/bash--comment ‘GitLab‘ --create-home --home-dir /home/git/ git

第六,配置MariaDB

创建数据库用户并授权

#mysql-u root -p 
mysql> create database gitlabhq_production character set utf8;
mysql> grant all privileges on gitlabhq_production.*to [email protected] identified by ‘123456‘;
mysql>flushprivileges;

7,配置redis

1).安装redis

#yuminstall redis

验证redis版本:

    

2).修改redis.conf配置文件

(1).备份配置文件

# cp /etc/redis.conf /etc/redis.conf.bak

(2).修改/tmp/redis.sock为/var/run/redis/redis.sock

(3).修改/var/var/run/redis/redis.sock的权限为755

  # chmod  -R 755 /var/run/redis/

3).配置redis自启动

#chkconfig --level 35 redis on

4).启动redis并验证

#/etc/init.d/redis restart
#/etc/init.d/redis status

5).附加git到redis组

#usermod-aG redis git

第八,安装gitlab

1).取gitlab源代码:

# su - git
$ git clonehttps://github.com/gitlabhq/gitlabhq.git gitlab

检查远程分支并切换到对应分支

$ cd gitlab
$ git branch -a ##查看远程分支
$ git checkout 6-3-stable

$ cat VERSION
    6.3.1

2).修改配置gitlab.yml

(1).修改18行(版本不同行数不同)的host为IP地址或者域名

$ cp config/gitlab.yml.example config/gitlab.yml
$ vi config/gitlab.yml

(2).修正184行(版本不同行数不同)的bin_path为正确的git命令位置

(3).检查创建目录及权限

$ mkdir -p /home/git/gitlab-satellites
$ cd /home/git/gitlab
$ mkdir -p tmp/pids
$ mkdir -p tmp/sockets
$ mkdir -p public/uploads

3).配置unicorn.rb文件

(1).修改配置

$ cp config/unicorn.rb.example config/unicorn.rb

#查看系统核心数

#nproc
2

$viconfig/unicorn.rb

注意config/unicorn.rb的内容:

working_directory"/home/git/gitlab"

listen"/home/git/gitlab/tmp/sockets/gitlab.socket"

pid"/home/git/gitlab/tmp/pids/unicorn.pid"

4).配置resque.yml文件,(redis文件)

$ cp config/resque.yml.example config/resque.yml

#连接redis配置,默认配置,最终修改结果如下

$ cat config/resque.yml

5).配置database.yml文件(MariaDB),只配置production环境

$ cp config/database.yml.mysql config/database.yml
$ vi config/database.yml

第九,安装gem

1).修改gemfile源为淘宝源

# su - git
$ cd /home/git/gitlab
$ vi Gemfile

修改文件Gemfile 的143行中gem"modernizr","2.6.2"为:gem"modernizr-rails","2.7.1"

修改文件Gemfile.lock 的279行modernizr(2.6.2)为modernizr-rails (2.7.1)

修改文件Gemfile.lock 的605行modernizr(= 2.6.2)为modernizr-rails (= 2.7.1)

2).执行gem安装

$ bundle install --deployment --without development test postgres aws

第十,安装gitlab-shell

1).安装gitlab-shell

$ su - git
$ git clone https://github.com/gitlabhq/gitlab-shell.git gitlab-shell
$ cd gitlab-shell
$ git checkout v1.8.0

2).配置config.yml

$ cp config.yml.example config.yml
$ vi config.yml

在正式环境中将gitlan_url换成gitbal访问域名

3).执行安装命令,创建对应目录和文件

$ ./bin/install

第十一,初始化数据库并激活高级功能

$ cd /home/git/gitlab
$ bundle exec rake gitlab:setup RAILS_ENV=production

这步完成后,会生一个默认的管理员账号:

root

5iveL!fe

十二,下载gitlab启动服务脚本

# wget -O /etc/init.d/gitlab https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/sysvinit/centos/gitlab-unicorn

# chmod+x /etc/init.d/gitlab
# chkconfig --add gitlab
# chkconfig --level 35 gitlab on 
# 设置logrotate(可选操作)
# cp /home/git/gitlab/lib/support/logrotate/gitlab /etc/logrotate.d/gitlab

十三,检测应用状态

1).检查基础环境

#su - git
$ cd gitlab
$ bundle exec rake gitlab:env:info RAILS_ENV=production

2).检查编译环境

$ bundle exec rake assets:precompile RAILS_ENV=production

3).查看应用详细信息

 $bundle exec rake gitlab:check RAILS_ENV=production

4).启动服务,并验证

#service gitlab start

如果报错:bash: bin/web: No such file or directory和bash:bin/background_jobs: No such file or directory

解决办法为:

# vi /etc/init.d/gitlab

修改/etc/init.d/gitlab中的 bin/web 路径为 script/web

修改/etc/init.d/gitlab中的 bin/background_jobs 路径为 script/background_jobs

十四,配置web服务

(1).此处参照编译安装Nginx脚本《install_nginx.sh》;

(2).添加Nginx支持ruby模块,参考《nginx重新编译添加模块ruby.docx》

(3).编辑nginx.conf文件

(4).访问http://192.168.3.251/登录

用户名:root

密码:5iveL!fe

时间: 2025-01-19 23:43:50

GitLab完整搭建(版本6.3.1)的相关文章

Gitlab完整搭建手册+排错

GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库.团队成员可以利用内置的简单聊天程序(Wall)进行交流.它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找.开源项目地址:https://github.com/gitlabhq/git

gitlab完整迁移

环境介绍: CentOS 6.7 gitlab:6.3.1 需求:gitlab从A服务器迁移至B服务器 第一.在B服务器上部署gitlab环境 参考<GitLab完整搭建(版本6.3.1)> 第二.备份A服务器上的数据 1).打包仓库文件 #su- git $cd/home/git/ $tarzcvf repositories.tar.gz ./repositories 2).备份sql文件 $mysqldump-uroot -pxxxx gitlabhq_production > /t

gitlab环境搭建

由于该公司是使用的gitlab做版本控制与代码管理.所以领导让我这个实习生要搭建一遍gitlab.其实这个事情拖了好久只因为前期在做关于saltstack的实验.没有心思去搞git.昨晚将salt拿下.今天就静下心去搞.遇妖降妖,遇魔除魔! 建议:最好用纯净的系统去部署gitlab 一.环境介绍 (1) centos 6.5 (2)Ruby (版本: 2.0.0p353) (3)创建项目运行用户(创建git账号,方便权限管理) (4)GitLab Shell(版本:1.8.0) (5)数据库(可

Linux下搭建版本控制器SVN

关于版本控制器,大致可分为集中式和分布式两种. 集中式的版本控制器通常会存在一个中央服务器,主要是用来存放版本库的,(这里暂且先不说分支的事)当我们工作之前,首先需要从中央服务器得到一份最新版本的代码,修改完毕之后,再次推送到中央服务器.集中式的版本控制器有个最大的缺点,就是必须要联网才能工作,同时,一旦中央服务器挂掉,整个项目就全部奔溃,但是用起来确实要方便一些. 分布式版本控制器的优势就很明显了,对于分布式的版本控制器,并没有中央服务器一说,加入该版本控制器的每个人的电脑上都有一个完整的版本

SuSE之Gitlab私服搭建

Gitlab私服搭建 Ps:由于是内网使用不存在邮件派发,不配置邮件,且无需异步服务器代理转发 直接过程: 1.下载bitnami-gitlab-8.9.6-0-linux-x64-installer.run(版本自选) 2.安装: YDCK-WXCAPP1:/soft # ./bitnami-gitlab-8.9.6-0-linux-x64-installer.run The installer detects that exists a 'git' user in the system. T

Git工程开发实践(七)——GitLab服务搭建

Git工程开发实践(七)--GitLab服务搭建 操作系统:RHEL 7.3 WorkStation 一.GitLab简介 1.GitLab简介 ?GitLab是一个利用Ruby on Rails开发的开源版本管理系统,是集代码托管.测试.部署于一体的开源git仓库管理软件,可通过web界面来进行访问公开或私人项目.GitLab能够浏览代码,管理缺陷和注释,可以管理团队对仓库的访问,非常易于浏览提交过的版本,并提供一个文件历史库,是目前非常流行的研发版本控制系统.Git:本地版本控制系统工具.G

gitlab的搭建与汉化

gitlab的搭建:内存最好2G以上 yum -y install curl unzip policycoreutils git wget         安装相关依赖包 所有gitlab rpm包的地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/ 下载安装包:wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-10.0.0-ce.0.el6

Axis2联接WCF(比较完整的版本)

Axis2联接WCF(比较完整的版本) 分basicHttpBinding和wsHttpBinding两种情况: 一.basicHttpBinding比较简单一点,先来看看它所要求的HTTP包:POST /WCFService1/Service.svc HTTP/1.1Content-Type: application/soap+xml; charset=utf-8Host: 127.0.0.1:3673Content-Length: 566Expect: 100-continueConnect

Android 环境搭建 版本问题

jdk1.6 1.7  eclipse 3.7.2    SDK-r12 ADT 12 SDK和ADT必须配套 搭建环境需要四个软件: 1.JDK(这是最新版本jdk1.7官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html) 2.SDK(这是最新版本android-sdk_r12官方下载地址:http://developer.android.com/sdk/index.html) 3.Eclipse(