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 refusedIs the server running locally and acceptingconnections 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版php开发工具,Ubuntu 中搭建 LAMP 及 php 开发工具

    Ubuntu 中搭建 LAMP 及 php 开发工具 Step1. 安装 Apache 1.在 terminal 中输入一下命令并执行: sudo apt-get install apache2 2. ...

  2. Ubuntu中搭建Hadoop2.5.2完全分布式系统(一)

    Hadoop平台搭建有三种模式,分别是单机模式.伪分布模式.完全分布模式.单机模式是在单一计算机或者服务器上运行Hadoop,没有分布式的文件上传和任务分配等功能.它执行的流程仍然是Map/Reduc ...

  3. 在ubuntu中使用cookiecutter搭建django项目时命令迟迟没有反应

    想在在ubuntu中使用cookiecutter搭建django项目,在官方文档中只是两行命令的事,没想到折腾了我几个小时. 问题描述 首先pip install cookiecutter==1.6. ...

  4. lede更改软件源_Linux的上传和下载——Ubuntu中软件的安装和ftp服务器的搭建

    [Linux操作系统]Linux的上传和下载--Ubuntu中软件的安装和ftp服务器的搭建 学习完Linux终端命令以后,我们现在要考虑的是怎么实现Linux中文件的上传和下载,这就是我们本篇博客要 ...

  5. Ubuntu中使用Nginx+rtmp模块搭建流媒体视频点播服务

    1. 背景 不知不觉来到流媒体部门已经一年半多了,也算积攒了不少的流媒体知识,平时工作比较忙,到没有对流媒体技术进行系统性的梳理:最近刚完成一个Git实用指南的技术专栏,放松一周之后,觉得还是得让自己 ...

  6. github 私有化部署_用GitLab搭建自己的私有GitHub

    用GitLab搭建自己的私有GitHub 现在git是开发人员的必备技能之一,github的代码仓库管理系统目前是最好的,下面搭建私有github系统的过程. 下载gitlab: 官网地址:https ...

  7. ubuntu平台下搭建PHPWind网站运行环境

    ubuntu平台下搭建PHPWind网站运行环境 前提: 要打开root权限 sudo password [这里填写root密码] 在Linux平台安装PhpWind的是比较麻烦的事,相对来说在Ubu ...

  8. Ubuntu中安装最新Docker社区版

    了解Docker请看博客<Docker初体验> 搭建Docker环境看起来是很简单的一件事,笔者也看到网上各种形形色色的安装教程,但是似乎大多都不全面,不完善.当我们的Ubuntu还没有安 ...

  9. [ubuntu]dlna平台搭建(在家里,寝室搭建自己的影音平台)

    0.家里,寝室搭建自己的影音学习平台 之前下载了很多国内外的公开课和ESL podcast音频,一直放在移动硬盘中睡觉,最近搞了块小平板,于是乎想到在寝室软路由ubuntu系统上搭建了搭建个NAS,当 ...

  10. Ubuntu 12.04搭建MTK 6577 安卓开发环境

    Ubuntu 12.04搭建 MTK 6577安卓开发环境 1.       下载并安装Vmware虚拟机: 2.       下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...

最新文章

  1. sharepoint 备份还原
  2. java 不变式_solr - Solr错误:在请求处理程序中使用不变式时,QueryComponent.mergeIds(QueryComponent.java:940) - 堆栈内存溢出...
  3. 图解MySQL数据库的安排和把持-1
  4. Linux 进程通信fifo,Linux 进程通信之FIFO的实现
  5. commonJs原理解析
  6. Android开发之如何在debug模式下打出release正式包
  7. 目标检测多模型集成方法总结
  8. 卢伟冰要宣布K50发布时间,竟遭市场部严厉制止!Redmi K50全系售价被曝
  9. 二叉树层次遍历--广度遍历和深度遍历
  10. mongodb java驱动_Java的MongoDB驱动及读写策略
  11. 不得不收藏的大数据Hadoop教程:Hadoop集群搭建
  12. Flutter状态管理学习手册(三)——Bloc
  13. MATLAB线条颜色
  14. nginx tcp端口转发_使用Nginx进行TCP/UDP端口转发
  15. 如何管理和组织一个机器学习项目
  16. 小米游戏中心10月报告:分析各种手游活动之优劣
  17. 2018年广发证券信息技术部面试总结
  18. 将pdf文档转换成高清图片
  19. Task already scheduled or cancelled(用Timer,TimeTask实现定时器功能)
  20. Freeswitch 结合AIO100语音网关 发送短信

热门文章

  1. Funcom Seeking Volunteer Mods - Part 3
  2. 微信小程序背景音乐的调试
  3. linux定时器编程实验报告,Linux定时器实验.doc
  4. 基于matlab的小波去噪方法研究,基于matlab的小波去噪分析毕业论文.doc
  5. iOS TableView性能优化
  6. C语言 链表 3个结点,一个关于C语言链表头结点的问题
  7. 【sciter】:鼠标移动到字体图标时不变色
  8. 没有的功能,直接回答并不好
  9. LINUX中用C获得当前执行应用的所在路径
  10. 女员工有问题,责任在于头目不管事