GitLab私服搭建

GitLab概述

GitLab版本

  1. gitlab-ce 社区版 免费
  2. gitlab-ee 企业版 收费

GitLab安装

环境要求

  1. 操作系统
    Centos 610
    VirtualBox上安装Centos610,并配置Host-only+NAT网络
  2. gitlab-ce-12.1.3
  3. 内存推荐4G

安装过程

Step1 通过镜像安装
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

gitlab 低内存 gitlab 4g内存_git

说明:

  • bash参数表示在终端执行脚本
  • 以上命令安装的是官方镜像,如果使用国内镜像,可以移步:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ 根据指导进行安装
EXTERNAL_URL="http://gitlab.devserver.me" yum install -y gitlab-ce

gitlab 低内存 gitlab 4g内存_初始化_02

说明:

  • EXTERNAL_URL=“http://gitlab.devserver.me” 是访问gitlab服务时使用的外部域名,这个会影响代码clone地址的显示,对于局域网私服建议使用ip地址,该url也可以在配置文件中进行配置

安装完成:

gitlab 低内存 gitlab 4g内存_gitlab 低内存_03

gitlab目录结构

软件安装位置:\opt\gitlab

通过tree命令查看gitlab安装后的目录结构:

tree \opt\gitlab

gitlab 低内存 gitlab 4g内存_gitlab_04

说明:

默认系统中没有tree命令,可以通过命令:yum -y install tree进行安装

Step2 初始化并启动系统
gitlab-ctl reconfigure
gitlab-ctl start

数据库初始化完成:

gitlab 低内存 gitlab 4g内存_gitlab 低内存_05

启动完成:

gitlab 低内存 gitlab 4g内存_ip地址_06

说明:

  • 第一次安装完成后,需初始化系统,自动初始化postgresql数据库
Step 3 修改默认配置

配置文件位置:/etc/gitlab/gitlab.rb

vi /etc/gitlab/gitlab.rb

1)首先停止gitlab服务

gitlab-ctl stop

gitlab 低内存 gitlab 4g内存_gitlab_07

2) 修改gitlab服务器外部访问url(clone代码时显示的地址)

安装时已经进行了设置,如果不满意可以在此次再次修改,支持ip地址,但必须以http开头

gitlab 低内存 gitlab 4g内存_ip地址_08

说明:

  • 此设置可以在文件开头处找到
  • 对于局域网此处可以设置为ip地址
  • 此处影响代码clone地址

2)修改服务端口

内置了nginx Web服务,端口号默认是80,容易冲突,可以修改为8081

nginx['listen_port'] = 8081

gitlab 低内存 gitlab 4g内存_gitlab 低内存_09

说明:

  • 此处设置在文件中部,可以搜索nginx进行查找,进入vi的命令模式(按冒号:),输入:"\nginx"回车,按n查找下一处,直到找到该行,按i,进入编辑模式,然后删除该行前面的#号,将nil该为8081
  • 按esc退出编辑模式,输入“:wq”保存退出
  • 更多配置信息请参考:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/configuration.md

同样方法修改unicorn端口为9090

3)重启使配置生效

gitlab-ctl restart postgresql
gitlab-ctl reconfigure
gitlab-ctl start

gitlab 低内存 gitlab 4g内存_git_10

说明:

  • 必须首先重启postgresql数据库,否则会报错
Step 4 访问gitlab系统

1)先关闭系统防火墙

service iptables status    #查看防火墙状态
chkconfig iptables off #永久关闭防火墙

gitlab 低内存 gitlab 4g内存_初始化_11

说明:

  • 临时关闭防火墙请使用:service iptables stop

2)首次访问gitlab

在浏览器中访问gitlab的8081端口,局域网使用ip地址访问,有域名可以使用域名访问,首次访问需要root的密码:

gitlab 低内存 gitlab 4g内存_gitlab 低内存_12

使用root身份和刚刚修改的密码进行登录:

gitlab 低内存 gitlab 4g内存_gitlab 低内存_13


登录成功:

gitlab 低内存 gitlab 4g内存_gitlab_14

FAQ

Q1 如何卸载GitLab

step 1 停止GitLab服务
gitlab-ctl stop

gitlab 低内存 gitlab 4g内存_ip地址_15

step 2 卸载软件包
rpm -e gitlab-ce

gitlab 低内存 gitlab 4g内存_gitlab_16

step 3 清理遗留文件
find / -name gitlab
find / -name gitlab | xargs rm -rm #删除所有包含gitlab的文件
find / -name gitlab

gitlab 低内存 gitlab 4g内存_初始化_17

Q2 访问服务器遇到502错误

1)尝试重新启动gitlab服务器

gitlab-ctl stop
gitlab-ctl start

2)如果问题依旧存在,也可能是sidekiq占据了unicorn的端口(配置文件中有设置)

可以通过如下命令查看端口占用情况:

netstat -tunlp|grep {port}

使用如下命令kill进程

kill -9 {PID}

然后重新启动gitlab服务

gitlab-ctl start