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. Dynamics CRM 2015 Update 1 系列(4): 自己定义主键 - Alternate Keys

    Alternate Keys. 还是和系统集成相关的一个重量级Feature.使用该Feature能极大的提高开发数据集成接口的时间成本以及接口的执行效率. 在之前的Dynamics CRM 版本号中 ...

  2. 微信整合的时候 出现这个“redirect_uri 参数错误”

    这是因为你在 微信的 管理中心 / 应用详情 中的授权回调域 只需要写域名就可以了 比如www.xxxxx.com 不需要具体某个页面

  3. MBProgressHUD 的类扩展方法用法

    #import "MBProgressHUD.h" @interface MBProgressHUD (Add) + (void)showError:(NSString *)err ...

  4. Java8 新特性之流式数据处理(转)

    转自:https://www.cnblogs.com/shenlanzhizun/p/6027042.html 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作 ...

  5. <转>浅谈 Boost.Asio 的多线程模型

    本文转自:http://senlinzhan.github.io/2017/09/17/boost-asio/ Boost.Asio 有两种支持多线程的方式,第一种方式比较简单:在多线程的场景下,每个 ...

  6. MATLAB 的函数句柄

    MATLAB 的函数句柄: 1.何为函数句柄? 函数句柄也是MATLAB中的一种常见的数据类型, 它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或 ...

  7. 查看linux设备文件系统类型的方法

    网络上找来找去没有找到简单的,最后翻了鸟哥的书就找到了,鸟哥的书还是真的有用心写的. /proc/filesystems 当前被内核支持的文件系统类型列表文件 /etc/filesystems 系统已 ...

  8. Redis学习之路(008)- Redis C语言客户端库hiredis文档翻译

    Hiredis是Redis数据库一个轻量的C语言客户端库. 之所以轻量是由于它只是简单的提供了对redis操作语句支持的接口,并没有实现具体的操作语句的功能.但正是由于这种设计使我们只要熟悉了通用的r ...

  9. ldd 的一个安全问题

    我们知道“ldd”这个命令主要是被程序员或是管理员用来查看可执行文件所依赖的动态链接库的.是的,这就是这个命令的用处.可是,这个命令比你想像的要危险得多,也许很多黑客通过ldd的安全问题来攻击你的服务 ...

  10. [转]Maven - 环境配置

    Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK. 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上Maven 3.2 要求 JDK 1.6 ...