搭建GitLab的目的:

  方便公司开发管理代码

GitLab实现的功能:

1、关闭了gitlab的注册功能

2、修改了默认端口

3、汉化

0、前期准备

# 环境 Ubuntu 14.04
root@iZ2334prw6jZ:~# apt-get install openssh-server
root@iZ2334prw6jZ:~# apt-get install openssh-client
root@iZ2334prw6jZ:~# apt-get install git

1、安装

root@iZ2334prw6jZ:~# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/trusty/main/g/gitlab-ce/gitlab-ce_8.8.0-ce.0_amd64.deb
root@iZ2334prw6jZ:~# dpkg -i gitlab-ce_8.8.0-ce.0_amd64.deb

2、修改配置文件

root@iZ2334prw6jZ:~# vim /etc/gitlab/gitlab.rb

external_url 'http://X.X.X.X:8088'
......
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_from'] = 'xxxxxx@163.com'
......
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] =
gitlab_rails['smtp_user_name'] = "xxxxxx@163.com"
gitlab_rails['smtp_password'] = "" # 客户端授权密码
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
......
user["git_user_email"] = "xxxxxx@163.com"
.....
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = #配置文件默认为8080,若其他程序使用了8080端口,需要修为其他端口,否则网页报错502 # 只要修改配置文件就要reconfigure
root@iZ2334prw6jZ:~# gitlab-ctl reconfigure
root@iZ2334prw6jZ:~# gitlab-ctl status
run: gitlab-workhorse: (pid ) 17578s; run: log: (pid ) 17625s
run: logrotate: (pid ) 3220s; run: log: (pid ) 17621s
run: nginx: (pid ) 11294s; run: log: (pid ) 17623s
run: postgresql: (pid ) 17650s; run: log: (pid ) 17650s
run: redis: (pid ) 17656s; run: log: (pid ) 17656s
run: sidekiq: (pid ) 11383s; run: log: (pid ) 17627s
run: unicorn: (pid ) 10110s; run: log: (pid ) 17633s
root@iZ2334prw6jZ:~# netstat -anlt | grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN
tcp 127.0.0.1: 0.0.0.0:* LISTEN
tcp 0.0.0.0: 0.0.0.0:* LISTEN #其中8089是unicore端口,因主机8080端口已被其他程序使用

3、访问web页面

  • 有时出现502,可以刷新网页或者再次reconfigure
  • 有时需要sudo gitlab-ctl restart nginx
  • 初次访问Web页面会强制让你改密码,初始用户名/密码:root/5iveL!fe
  • 禁止前台注册
登录后:右上角 Admin Area --> Settings --> Sign-in Restrictions

  然后保存

  • 修改admin的邮箱
Admin Area --> Users --> Edit 然后保存

4、汉化

# 首先检查版本

root@iZ2334prw6jZ:~# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
8.8. root@iZ2334prw6jZ:~# git clone https://gitlab.com/larryli/gitlab.git root@iZ2334prw6jZ:~# cd gitlab/ # 比较8--stable(英文)和8--zh(汉化后)的区别然后导出为补丁 root@iZ2334prw6jZ:~# git diff origin/--stable origin/--zh > /tmp/8.8.diff # 停止 gitlab
root@iZ2334prw6jZ:~# gitlab-ctl stop
# 应用补丁

root@iZ2334prw6jZ:~# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /tmp/8.8.diff

# 启动 gitlab 

root@iZ2334prw6jZ:~# gitlab-ctl start

转载出处:http://www.jianshu.com/p/49f60698b411

Ubuntu下部署GitLab-——基于14.04系统的更多相关文章

  1. 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记

    基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...

  2. Linux:Ubuntu下部署Web运行环境

    Linux:Ubuntu下部署Web运行环境 本次博客将会从三部分内容详述Ubuntu系统下Web运行环境的配置: 依次是:FTP服务器的搭建.MYSQL数据库的搭建.JDK的安装等. 参考文章如下: ...

  3. Ubuntu 下部署asp.net运行环境

    在Ubuntu下部署asp.net运行环境,网上教程很多,基本都是编译Mono源码,然后安装jexus.但是可能是我最近RP不太好,编译Mono源码一直都是失败,无奈之下只好找另外的方法安装了. 网上 ...

  4. #Ubuntu 14.04 系统下载

    http://mirrors.aliyun.com/ubuntu-releases/14.04/

  5. docker下部署gitlab

    docker用来隔离应用还是很方便的,一来本身的操作较为简单,二来资源占用也比虚拟机要小得多,三来也较为安全,因为像数据库这样的应用不会再全局暴露端口,同时应用间的通信通过加密和端口转发,更加安全. ...

  6. Ubuntu下部署java JDK和eclipse IDE

    安装Java编程开发环境: Ubuntu默认安装openjava,可以通过java -version查看是否安装.但我使用Ubuntu9.10升级到10.04LTS时,openjava没有了.另外,如 ...

  7. ubuntu下如何查看用户登录及系统授权相关信息【转】

    转自:http://www.tuicool.com/articles/ia67Bj 如何在ubuntu下查看相关用户登录历史,进行系统的日志跟踪和分析,以便发现系统登录问题,进行安全策略防护呢?ubu ...

  8. Ubuntu如何以root身份登陆-(基于14.04版本)

    1.打开terminal,输入命令 $ sudo passwd root 键入密码, 重复确认, 2.然后再次在终端模式下进入root, $ sudo -s -H 键入密码 # vi  /usr/sh ...

  9. Ubuntu下部署SVN+SVNManager

    本文参考了一下博客,特此感谢: 灰烬之灵    一米阳光做IT.测试 环境描述:ubuntu 13.04 1.先创建svn组和svn用户: sudo addgroup svnsudo useradd ...

随机推荐

  1. 【HackerRank】 Filling Jars

    Animesh has N empty candy jars, numbered from 1 to N, with infinite capacity. He performs M operatio ...

  2. JavaScript笔记02——基本语法(包括函数、对象、数组等)

    Doing Math & Logic Conditional & Looping Functions Objects Arrays Doing Math & Logic 1.J ...

  3. springboot中Controller没有被扫描

    今天给客户开发登陆的密码加密需求,研究一下想,需要在本地搭一套环境,前台用js实现RAS加密,后台使用java解密.本是一套非常简单的环境,看最近springboot比较常用,所以想要搭一下sprin ...

  4. PHP用*隐藏中文问题

    中文截取 function substr_cut($user_name){ $strlen= mb_strlen($user_name, 'utf-8'); $firstStr= mb_substr( ...

  5. Python内置标准模块

    time 模块 1 >>> import time 2 >>> time.time() 3 1491064723.808669 4 >>> # t ...

  6. UI基础_transform

    #import "ViewController.h" typedef enum { ButtonTypeLeft = 1, ButtonTypeRight, ButtonTypeU ...

  7. CDN技术介绍

    CDN技术介绍 一.CDN概述 1.1 CDN定义 CDN即Content Delivery Network (内容分发网络).CDN是建立在现有IP网络基础结构之上的一种增值网络.是在应用层部署的一 ...

  8. django学习笔记整理(1)django的MTV模式

    django作为一个python的网络编程的框架,自然有着其规律可循.通过对django的了解,也明白了一些网络编程的知识.最近这近一个月,在网上查了许多文字资料,也看了别人的视频之类的资料,也算是对 ...

  9. tp5定时器

    # 定时器 * * * * * cd /home/wwwroot/default/dexin/dragon && /usr/bin/php think order --option 1 ...

  10. Android sqlite 使用框架

    Android数据库存储 前言: 今天无聊就试试水,写写博客,在之前andorid使用数据储存好像大概有5种方式,其中轻量级的是sqlite数据库,但是sqlite使用起来好像有麻烦,首先要判断…之后 ...