文档章节

如何安装和配置在Ubuntu 14.04 gitlab

mingle
 mingle
发布于 2015/11/12 10:16
字数 900
阅读 222
收藏 0

0、安装准备

gitlab提供。deb包里面包含gitlab社区版和它的依赖性(Ruby, PostgreSQL, Redis, Nginx, Unicorn and other gems)已经编译。安装此包很简单。但由于它将安装自己的软件包的依赖关系(nginx,PostgreSQL,等)

系统使用了Ubuntu 14.04,假如的你域名为git.example.com 并且已经安装ruby,git server

本文使用的是非root权限 需要使用sudo 进行管理

    0.1、更新系统

            

sudo apt-get update
sudo apt-get upgrade

    0.2、为GitLab创建一个git用户

sudo adduser --disabled-login --gecos 'GitLab' git

    0.3、插入系统依赖的包

sudo apt-get install build-essential cmake zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate

    0.4、安装git、postfix(邮件服务器可选)

sudo apt-get install git postfix

    0.5、安装postgresql数据库等工具类、创建gitlab的生产库

sudo apt-get install postgresql postgresql-client libpq-dev
sudo -u postgres createuser --createdb git
sudo -u postgres createdb --owner=git gitlabhq_production

    0.6、检测生产库是否安装

sudo -u git -H psql -d gitlabhq_production -c "SELECT VERSION()

1、安装gitlab(使用源码安装)

    1.1、创建git目录、clone

mkdir /home/git && cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 6-9-stable gitlab
cd gitlab

    1.2、配置gitlab.conf

sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo nano config/gitlab.yml

    1.3、编辑gitlab.yml

vim /home/git/gitlab/config/gitlab.yml
###################################
production: &base
  gitlab:
    host: git.example.com 
    port: 80
    https: false
    ...
    email_from: gitlab@example.com
    ...
    support_email: support@example.com
###################################

    1.4、授予权限给git,创建git存储目录

sudo chown -R git {log,tmp}
sudo chmod -R u+rwX {log,tmp,tmp/pids,tmp/sockets,public/uploads}
sudo -u git -H mkdir /home/git/gitlab-satellites
sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites

    1.5、创建Unicorn, Rack attack, and PostgreSQL的配置文件

sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
sudo -u git cp config/database.yml.postgresql config/database.yml
sudo -u git -H chmod o-rwx config/database.yml

    1.6、安装gems、gitlab-shell

sudo gem install bundler
sudo -u git -H bundle install --deployment --without development test mysql aws
sudo -u git -H bundle exec rake gitlab:shell:install[v1.9.4] REDIS_URL=redis://localhost:6379 RAILS_ENV=production

    1.7、配置如下   vim /home/git/gitlab-shell/config.yml

user: git
gitlab_url: http://git.example.com/
http_settings:
  self_signed_cert: false
repos_path: "/home/git/repositories/"
auth_file: "/home/git/.ssh/authorized_keys"
redis:
  bin: "/usr/bin/redis-cli"
  host: localhost
  port: 6379
  namespace: resque:gitlab
log_level: INFO
audit_usernames: false

    1.8、数据库初始化

sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab
sudo update-rc.d gitlab defaults 21
sudo cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab

    1.9、检测应用状态

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

    显示如下信息 表示系统正常

System information
System:Ubuntu 14.04
Current User:git
Using RVM:no
Ruby Version:2.1.2p95
Gem Version:2.2.2
Bundler Version:1.10.6
Rake Version:10.3.1
Sidekiq Version:2.17.0
GitLab information
Version:6.9.2
Revision:e46b644
Directory:/home/git/gitlab
DB Adapter:postgresql
URL:http://git.3nchina.cn
HTTP Clone URL:http://git.3nchina.cn/some-project.git
SSH Clone URL:ssh://git@git.3nchina.cn:2203/some-project.git
Using LDAP:no
Using Omniauth:no
GitLab Shell
Version:1.9.4
Repositories:/home/git/repositories/
Hooks:/home/git/gitlab-shell/hooks/
Git:/usr/bin/git

2、配置生产环境、git用户信息

sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email "gitlab@example.com"
sudo -u git -H git config --global core.autocrlf input

3、启动、停止、重启gitlab

sudo service gitlab start
sudo service gitlab stop
sudo service gitlab restart

4、集成nginx 

sudo cp lib/support/nginx/gitlab /etc/nginx/sites-available/gitlab
sudo vim /etc/nginx/sites-available/gitlab

#eg
listen 80;
server_name git.example.com;
server_tokens off; 
root /home/git/gitlab/public;

    4.1、重启nginx 

 sudo rm /etc/nginx/sites-enabled/default
 sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
 sudo service nginx restart

5、检测gitlab是否正常

 cd /home/git/gitlab
 sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

https://www.linode.com/docs/applications/development/how-to-install-and-configure-gitlab-on-ubuntu-14-04-trusty-tahr

© 著作权归作者所有

共有 人打赏支持
mingle
粉丝 11
博文 139
码字总数 20900
作品 0
朝阳
程序员
私信 提问
Ubuntu 14.04下安装GitLab指南

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。在GitLab的官方网站上面对Ubuntu的支持也是很好的,有比较详尽的安装指南。在介绍pos...

laiconglin
2015/05/28
0
1
浙大开源站添加 GitLab-CE 镜像

继清华大学TUNA镜像站添加GitLab-CE后,华东地区浙大开源镜像站也添加了GitLab-CE镜像。 在这里感谢两个开源镜像站的支持。 GitLab APT/YUM安装包镜像地址(浙大开源镜像站) http://mirrors....

GitLab中文社区
2016/03/17
4.1K
2
安装 Gitlab CI runner

前面我们已经安装好 Gitlab CI 了。接下来安装 Gitlab CI runner。 Gitlab CI runner 安装指南 适配 Ubuntu 14.04 版本,用于连接到 GitLab CI 并在提交推送到分支时自动运行构建任务。推荐的...

红薯
2015/01/03
10.7K
0
Ubuntu 14.04下安装Gitlab

GitLab: GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它提供Git版本控制、代码检查、Bug跟踪和Wiki,它可以通过LDAP或活动目录来进...

eui988
2015/06/04
0
0
GitLab 7.2.2 安全补丁和 Hooks 移植

今天我们发布了 GitLab 7.2.2. 该版本处理了 .deb 包中的一个不安全的文件权限问题,此外该版本包含一个 hooks migration script 用来避免升级到 7.3 时长时间停机的问题(这种长时间停机主要...

红薯
2014/09/20
656
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx rails 详细站点配置入门教程

Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,R...

xiangyunyan
45分钟前
3
0
Shiro

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

嘿嘿嘿IT
49分钟前
1
0
Flutter 之 Dart语言基础详解 上篇

经过了一个星期的React Native的学习和了解,感觉还是Flutter的优势会更高一些,而且从学习成本来说感觉做安卓的同学学习flutter会相对低一点,门槛会低很多。 当然dart的基础笔者还是从其他...

林-师傅等等我
今天
5
0
Java NIO问题总结

问题1:IO事件在被处理之前,selector.select()方法依然能够返回该事件。即如果在一个线程A中进行selector.select(),而将selector.selectedKeys()中的SelectionKey交由业务线程池去处理,则...

月下狼
今天
5
0
ehcache

简单介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开 源Java分布式缓存。主要面向通用缓存,Java EE和轻量...

大笨象会跳舞吧
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部