1.gitlab介绍

gitlab是一款代码仓库管理工具,可以用来搭建自己的代码管理服务器。

gitlab包自带了redis,nginx,postgresql,unicorn等众多服务组件。

2.硬件环境

gitlab非常的占用内存,至少需要4GB的可用内存

3.安装方式

1)源码安装

2)安装包安装

3)docker安装

因为源码安装下载非常缓慢,本文考虑了deb安装包安装和docker安装两种方式。

4.安装

安装依赖包

sudo apt-get install curl openssh-server ca-certificates postfix

下载deb安装包并安装

curl -O https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_11.1.1-ce.0_amd64.deb
dpkg -i gitlab-ce_11.1.1-ce.0_amd64.deb

执行结果:

5.修改端口配置

gitlab自带nginx服务器,占用80端口,很容易和服务器上其他的web服务器冲突,因此有必要修改相应的端口。

1)修改/etc/gitlab/gitlab.rb

vim /etc/gitlab/gitlab.rb

#unicorn['port'] = 8080 修改 8070  默认是注释的去掉前面的#
unicorn['port'] = 8070
#nginx['listen_port'] = nil 修改 8090 默认是注释的去掉前面的#
nginx['listen_port'] = 8090

修改gitlab.rb配置文件后,必须执行重新加载配置文件命令

gitlab-ctl reconfigure

2)修改/var/opt/gitlab/gitlab-rails/etc/unicorn.rb

vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb

#listen "127.0.0.1:8080", :tcp_nopush => true
listen "127.0.0.1:8070", :tcp_nopush => true

3)修改默认的gitlab nginx的web服务80端 /var/opt/gitlab/nginx/conf/gitlab-http.conf

vim /var/opt/gitlab/nginx/conf/gitlab-http.conf

#listen *:80;
listen *:8090;

4)重启gitlab

gitlab-ctl restart

6.浏览器访问

7.gitlab常用命令

启动:gitlib-ctl start
关闭:gitlab-ctl stop
重启:gitlab-ctl restart
重载配置:gitlab-ctl reconfigure
查看状态:gitlab-ctl status

都处在run状态,gitlab才算安装成功

8.遇到的一些问题

1)安装postgresql失败

执行gitlab-ctl reconfigure

[execute] psql: could not connect to server: Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"?

解决方法:

sudo gitlab-ctl stop
sudo systemctl stop gitlab-runsvdir.service
ps aux | grep postgre (check if there are any postgres processes; shouldn't be)
sudo rm /var/opt/gitlab/postgresql/data/postmaster.pid
sudo systemctl start gitlab-runsvdir.service
sudo gitlab-ctl reconfigure

2)502 Whoops, GitLab is taking too much time to respond.

端口配置存在错误,修改详细如上所述

3)gitlab占用内存过大

本机内存为2G,至少需要4G可用内存,修改工作进程数

修改/etc/gitlab/gitlab.rb

unicorn['worker_processes'] = 2

9.docker安装gitlab

gitlab依赖组件比较多,使用docker安装非常简单和方便

1)拉取镜像

docker pull gitlab/gitlab-ce:latest

2)数据持久化

因为容器的数据是不能持久化的,所以我们需要将相关配置,数据,日志等映射到本地

3)运行gitlab容器

docker run -p 8091:80 --name gitlab --volume /home/shijingjing/gitlab/config:/etc/gitlab --volume /home/shijingjing/gitlab/logs:/var/log/gitlab --volume /home/shijingjing/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

4)浏览器访问

ubuntu中gitlab搭建的更多相关文章

  1. 在Ubuntu中成功搭建KMS服务器

    介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...

  2. Python_在Ubuntu中搭建科学计算环境

    本文针对 Ubuntu 下搭建 Python 科学计算的环境,罗列了关键词和部分链接,最后附上了自己的一点分享. 1.升级 关键词: python ubuntu 升级 推荐: ubuntu16.04下 ...

  3. 在Ubuntu中搭建KMS服务器

    介绍 基于vlmcsd搭建的KMS服务器. 根据github上的说明,这个工具是用C写的,没有任何依赖,可以直接运行.而且它横跨几乎现在所有的系统平台,如Android, FreeBSD, Solar ...

  4. Ubuntu中Git服务器搭建

    git服务器搭建过程 参考网上资料搭建git服务器过程记录 如下: 需求 硬件需求:一台Ubuntu或者debian电脑(虚拟机),能通过网络访问到. 软件需求:git-core, gitosis, ...

  5. Ubuntu中Hadoop环境搭建

    Ubuntu中Hadoop环境搭建 JDK安装 方法一:通过命令行直接安装(不建议) 有两种java可以安装oracle-java8-installer以及openjdk (1)安装oracle-ja ...

  6. Ubuntu中使用Nginx+rtmp搭建流媒体直播服务

    一.背景 本篇文章是继上一篇文章<Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务>文章而写,在上一篇文章中我们搭建了一个点播服务器,在此基础上我们再搭建一个直播服务器, ...

  7. GitLab → 搭建中常遇的问题与日常维护

    开心一刻 隔壁有一个80多岁的老大爷,昨天在小区的一棵树下发现一条黑色的蛇,冻僵了,大爷善心大发,就把蛇揣在了怀里,想给它一点温暖. 今天一大早看到大爷在树上挂了一个牌子,写到:不准随地大小便! 搭建 ...

  8. ubuntu中LAMP环境搭建及ubuntu语言和输入法设置

    1.  LAMP 的安装 1) sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql 2) 存放 ...

  9. Spark在Ubuntu中搭建开发环境

    一.在Windows7中安装Ubuntu双系统 工具/原料   windows7 64位 ubuntu 16.04 32位 UltraISO最新版(用来将镜像文件烤到U盘中) 空U盘(若有文件,请先备 ...

随机推荐

  1. ssm(spring mvc+mybatis)+netty4开发qiq

    发布时间:2018-10-30   技术:spring mvc+mybatis+nett4+layui   概述 简单快捷的IM方案,快速打造在线IM,可用于公司内网.外网通讯,客服系统等,实现了so ...

  2. 信息列表中的ContentObserver、CONTENT_URI等

    1. 注册ContentObserver时Sms.Inbox.CONTENT_URI应改成Sms.CONTENT_URI. getContentResolver().registerContentOb ...

  3. 【OT1.0 + TP3.2】开启trace调试、输出调试信息、开启自定义菜单

    1.开启trace调试 A- 后台系统设置 show-page-trace = 1 B-config.php文件.配置 show-page-trace = true 2.输出调试信息 很奇怪,OT竟然 ...

  4. public-private-protected-默认缺省 的区别

    public 公共,加上这个修饰的属性和方法,可以在程序的任何其它地方访问 . private 私有,和public相反,加上这个修饰的属性和方法,只允许在本类中访问. protected 保护,位于 ...

  5. HDUOJ-----1074 Integer Inquiry

    Integer Inquiry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  6. 树莓派进阶之路 (023) - Windows下用串行连接控制树莓派(转)

    转载:http://shumeipai.nxez.com/2014/05/04/under-windows-serial-connection-control-raspberry-pi.html 在没 ...

  7. 【exe4j】如何利用exe4j把java桌面程序生成exe文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  8. Scala学习网址

    scala学习网址为:https://twitter.github.io/scala_school/zh_cn https://www.zhihu.com/question/26707124

  9. SharePoint 2013 安装 Service Pack 1

    Problem 当迁移SharePoint 的时候,执行Move-SPSite 命令,将指定的Site Collection移动到目标内容数据库中时,提示以下错误:Cannot complete th ...

  10. SharePoint 2013 实现多级审批工作流

    上一篇介绍了安装和配置SharePoint 2013 Workflow,这一篇将用SharePoint 2013 Designer Workflow来实现一个多级审批工作流. 审批工作流介绍 这个De ...