文档章节

安装gitlab

xuesong13
 xuesong13
发布于 2014/11/13 21:27
字数 1576
阅读 10129
收藏 29
点赞 1
评论 3

Gitlab是一个用Ruby on Rails开发的开源项目管理程序,可以通过WEB界面进行访问公开的或者私人项目。它和Github有类似的功能,能够浏览源代码,管理缺陷和注释。

下面介绍如何手动在Centos下搭建配置GitLab,自动安装gitlab的方法见http://my.oschina.net/u/1169607/blog/345833。

安装依赖

1.1 修改yum

国内比较快的有163源、sohu这里以CentOS6.5中修改yum源为例子

1. cd /etc/yum.repos.d

2. mv CentOS-Base.repo CentOS-Base.repo.backup

3. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

4. mv CentOS6-Base-163.repo CentOS-Base.repo

5.yum clean all

1.2 安装epel

Centos下官方仓库的软件比较老旧,推荐先添加epelcentos665就选5

32位系统选择:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

64位系统选择:

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

导入key

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-5

如果用比较新的软件,用epel-test.repo这个文件就行了

另外还要安装yum install yum-priorities

[root@localhost yum.repos.d]# ls |grep epel

epel.repo

epel-testing.repo

1.3 安装依赖

sudo yum install git patch gcc-c++ readline-devel zlib-devel libffi-devel openssl-devel make autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel git python python-docutils wget

安装 Ruby 2.0

需要安装Ruby2.0,软件仓库中的Ruby 1.8不支持,安装命令如下:

mkdir /tmp/ruby && cd /tmp/ruby

curl --progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz | tar xz

cd ruby-2.0.0-p353

./configure --disable-install-rdoc

make

sudo make install

安装Bundler Gem

sudo gem install bundler --no-ri --no-rdoc

安装过程中会出现下面的错误:

[root@h77 ruby-2.0.0-p353]# gem install bundler --no-ri --no-rdoc

ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why: Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Connection timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)

是因为国内网络导致rubygems.org存放在Amazon S3上面的资源文件间歇性连接失败,用国内的RubyGems镜像(参见http://ruby.taobao.org/)替换官方镜像,方法如下:

[root@h77 ruby-2.0.0-p353]# gem sources --remove https://rubygems.org/

https://rubygems.org/ removed from sources

[root@h77 ruby-2.0.0-p353]# gem sources -a https://ruby.taobao.org/

https://ruby.taobao.org/ added to sources

[root@h77 ruby-2.0.0-p353]# gem sources -l

*** CURRENT SOURCES ***

 

https://ruby.taobao.org/

[root@h77 ruby-2.0.0-p353]# gem install bundler --no-ri --no-rdoc

Fetching: bundler-1.7.6.gem (100%)

Successfully installed bundler-1.7.6

1 gem installed

配置gitlab-shell

创建git用户:

sudo adduser --system --create-home --comment 'GitLab' git  

配置gitlab-shell

su - git -c "git clone https://github.com/gitlabhq/gitlab-shell.git"  

su - git -c "cd gitlab-shell && git checkout v1.3.0"  

su - git -c "cp gitlab-shell/config.yml.example gitlab-shell/config.yml"  

sed -i "s/localhost/{你自己的ip或主机名}/g" /home/git/gitlab-shell/config.yml  

su - git -c "gitlab-shell/bin/install"

配置数据库

Centos下使用如下命令:

sudo yum install mysql-server 

sudo chkconfig mysqld on

配置MySQL

sudo echo "CREATE DATABASE IF NOT EXISTS gitlabhq_production DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';" | mysql -u root -p

安装redis服务

切换到root用户,安装Redis,确保按照前面步骤正确安装epel源,执行下面语句:

yum install redis*  

安装完成后,启动redis服务,设置开机启动,语句如下:

service redis start     #启动redis  

chkconfig redis on     #设置开机启动  

安装配置 gitlab

su - git -c "git clone https://github.com/gitlabhq/gitlabhq.git gitlab"  

su - git -c "cd gitlab;git checkout 5-1-stable"  

su - git -c "cp config/gitlab.yml.example config/gitlab.yml"  

su - git -c "mkdir /home/git/gitlab-satellites"  

su - git -c "mkdir public/uploads"  

su - git -c "mkdir -p tmp/sockets/"  

su - git -c "mkdir -p tmp/pids/"  

sed -i "s/ host: localhost/ host: {你自己的ip或主机名}/g" config/gitlab.yml  

sed -i "s/from: gitlab@localhost/from: gitlab@{你自己的ip或主机名}/g" config/gitlab.yml  

su - git -c "cp config/puma.rb.example config/puma.rb"  

su - git -c 'git config --global user.name "GitLab"'  

su - git -c 'git config --global user.email "gitlab@{你自己的ip或主机名}"'

配置数据库连接:

sudo su git -c "cp config/database.yml.mysql config/database.yml"

sudo sed -i "s/secure password/mysqlroot密码/g" config/database.yml

安装MySQL需要的Gems

sudo -u git -H bundle install --deployment --without development test postgres puma aws

该步骤问题较多,具体如下所示:

1. 出现“sudo: bundle: command not found”的错误,解决方式用“su git”进入git用户,再执行“bundle install --deployment --without development test postgres aws”命令;

2. 出现“Could not locate Gemfile”的错误,解决方式执行“bundle install --deployment --without development test postgres aws”命令必须在“/home/git/gitlab”目录下,所以“cd  /home/git/gitlab”进入该目录;

3. 出现“Fetching source index from https://rubygems.org/”长时间没有响应,因为Gemfile中的源连接不上,更换源,将其中的"http://rubygems.org/"变成"http://ruby.taobao.org",具体如下:

source "http://ruby.taobao.org"  # 旧 source "https://rubygems.org/" 

4. 出现“Could not find modernizr-2.6.2 in any of the sources”问题,因为官网和淘宝的ruby源都没有这个包,解决办法是先手动去下载 然后root用户安装wget http://rubygems.org/gems/modernizr-2.6.2.gem  && gem install modernizr,再将gitlab目录下的Gemfile文件和Gemfile.lock文件中的“modernizr”全部换成“modernizr-rails”,版本“2.6.2”全部换成“2.7.1”;

5. 出现“An error occurred while installing charlock_holmes (0.6.9), and Bundler cannot continue.”问题,因为charlock_holmes没有安装,用root用户执行下面命令:gem install charlock_holmes -v '0.6.9'

6. 出现“Error installing charlock_holmes: ERROR: Failed to build gem native 

extension.”问题,因为缺少某些依赖包,执行下列语句:yum install libicu-devel mysql-devel pcre-devel postfix

7. 出现“Error connecting to Redis on localhost:6379 (ECONNREFUSED)”问题,因为redis服务没有安装,安装见之前步骤介绍。

接下来执行初始化操作:

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

如果看到如下信息:

Administrator account created:

 

login.........admin@local.host

password......5iveL!fe

表示已经成功安装gitLab了,记下管理员的用户名和密码。

启动 gitlab

接下来执行下列命令启动gitlab

[git@h79 gitlab]$ bundle exec rails s -e production

=> Booting WEBrick

=> Rails 3.2.13 application starting in production on http://0.0.0.0:3000

=> Call with -d to detach

=> Ctrl-C to shutdown server

[2014-11-13 21:15:30] INFO  WEBrick 1.3.1

[2014-11-13 21:15:30] INFO  ruby 2.0.0 (2013-11-22) [x86_64-linux]

[2014-11-13 21:15:30] INFO  WEBrick::HTTPServer#start: pid=20972 port=3000

表示gitlab启动成功,可以通过http://{gitlab的域名或IP}:3000访问gitlab。第一访问会比较慢,因为要编译很多jscss

另外3000端口可能受防火墙影响,关闭防火墙 chkconfig iptables off(重启后永久性生效)service iptables stop(及时生效,重启后失效)。

登陆页面如下所示:

输入管理用户名和密码后,登录进去的页面如下所示:





© 著作权归作者所有

共有 人打赏支持
xuesong13
粉丝 5
博文 40
码字总数 34979
作品 0
海淀
程序员
加载中

评论(3)

polly
polly
好麻烦,先收藏吧,还是gitbucket懒人用着省事。
稻谷
稻谷
mark
chaun
chaun
必须要加精,这么好的帖......
centos 6.8下部署gitlab服务器并修改默认端口

安装gitlab 安装依赖环境 安装postfix 添加Gitlab包仓库 安装Gitlab 配置Gitlab和启动 访问gitlab 修改默认的gitlab 相关端口 修改/etc/gitlab/gitlab.rb 修改/var/opt/gitlab/gitlab-rails/...

cwftalus ⋅ 04/20 ⋅ 0

3分钟docker安装Gitlab

1、安装docker,这个没什么好说的.yum install docker 2、添加阿里云加速 首先需要注册一个阿里云的帐号,可能还需要其他一点信息。然后进入容器Hub服务控制台,中间有一个加速器。我们点击它...

算法之名 ⋅ 04/29 ⋅ 0

前端的gitlab的ci初尝试

title: 前端的gitlab的ci尝试 date: 2018-05-22 11:56:22 tags: gitlab ci 本文记录一个前端部署Gitlab的CI。不是在自己的服务器上面搭建的Gitlab。使用的是Gitlab.com的Gitlab的CI,在腾讯云...

小落 ⋅ 05/22 ⋅ 0

centos7搭建gitlab

一、安装配置依赖项 如想使用Postfix来发送邮件,在安装期间请选择’Internet Site’. 您也可以用sendmai或者 配置SMTP服务 并 使用SMTP发送邮件. 在 Centos7 系统上, 下面的命令将在系统防火...

南北二斗 ⋅ 04/13 ⋅ 0

Gitlab的部署、应用以及502报错解决-centos

       Gitlab的部署以及应用 GitLab简介 GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,它也是一个自托管的Git项目仓库,是集代码托管,测试,部署于一体的开源...

技术小疯子 ⋅ 05/30 ⋅ 0

CentOS7上安装配置GitLab(一)

虽然GitHub已经很好了,但是我们必须联上公网才可以使用并且如果不付费的话,你的代码在网上就是公开的!但是在企业环境中,我们公司的代码不希望被公开并且也不想付费给GitHub,这时怎么办呢...

daibaiyang119 ⋅ 05/29 ⋅ 0

gitlab-runner注册runner

安装gitlab、gitlab-runner见安装 Run the following command Enter your GitLab instance URL Enter the token you obtained to register the Runner Enter a description for the Runner,......

liyuchang ⋅ 04/18 ⋅ 0

centos7.4+GitLab部署

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 系统环境准备 建议:内存4G以上不然带不动 #关闭firewalld和NetWorkManager #永久关闭...

归来仍少年 ⋅ 04/28 ⋅ 0

docker入门到实战(7)使用docker快速搭建gitlab私服

下载镜像 docker pull gitlab/gitlab-ce 使用镜像 镜像中有三个目录用于保存gitlab的数据,出于安全考虑,应该使宿主机目录挂载这三个卷做持久化存储。如果出错保证数据不会丢失。 /etc/git...

编程老司机 ⋅ 05/14 ⋅ 0

GitLab 发布 Web IDE,在 Web 端为你提供集成开发体验

开源代码托管服务 GitLab 宣布发布 Web IDE,允许用户无需安装任何程序就能直接在 GitLab 网站上编辑文件。 Web IDE 的想法最初由该公司的一名开发者 Jacob Schatz 提出,Jacob Schatz 注意到...

局长 ⋅ 06/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部