CentOS 7手把手教你搭建GitLab

        在开篇之前梳理下GitLab遇到的问题,最近项目代码管理,GitLab安装完成之后发现访问出现502,虽然解决了,觉得还是有必要把遇到的记录下来,所谓,好记性不如烂笔头,踩坑多了就是成长。

什么是GitLab?

        GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
        GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

      在开始之前先来更新下系统,这个可有可无,我这个是最小安装

一,更新系统

yum update -y

        这个执行中间可能会需要5到10分钟左右,根据自己的网速快慢来决定执行的快慢,大家只需要耐心等待下就好了

CentOS 7手把手教你搭建GitLab_第1张图片

二,安装sshd

2.1 安装sshd依赖

yum install -y curl policycoreutils-python openssh-server

CentOS 7手把手教你搭建GitLab_第2张图片

2.2 接下来我们启用并启动 sshd:

systemctl enable sshd
systemctl start sshd

2.3 接下来我们配置下防火墙:

       打开 /etc/sysctl.conf 文件,在文件最后添加新的一行

net.ipv4.ip_forward = 1

CentOS 7手把手教你搭建GitLab_第3张图片

       我们只需要sysctl.conf在最后添加一行,按下esc 加:wq 保存即可

2.4 启用并启动防火墙:

systemctl enable firewalld
systemctl start firewalld
    这里由于是演示,我这里就把http放行
firewall-cmd --permanent --add-service=http

2.5 重启防火墙:

systemctl reload firewalld
以上操作步骤:

在这里插入图片描述

三,接下来我们在安装 postfix

       GitLab 需要使用 postfix 来发送邮件。当然,也可以使用 SMTP 服务器。

3.1 安装postfix

yum install -y postfix
     打开 /etc/postfix/main.cf 文件,在第 119 行附近找到 inet_protocols = all,将 all 改为 ipv4
inet_protocols = ipv4

CentOS 7手把手教你搭建GitLab_第4张图片

3.2 启用并启动 postfix:

systemctl enable postfix 
systemctl start postfix

3.3 配置 swap 交换分区

       由于 GitLab 较为消耗资源,我们需要先创建交换分区,以降低物理内存的压力。 在实际生产环境中,如果服务器配置够高,则不必配置交换分区。

3.4 新建 2 GB 大小的交换分区:

dd if=/dev/zero of=/root/swapfile bs=1M count=2048

3.5 接下来我们对其格式化

mkswap /root/swapfile
swapon /root/swapfile

CentOS 7手把手教你搭建GitLab_第5张图片

      添加自启用。打开 /etc/fstab 文件,在文件最后添加新的一行
/root/swapfile swap swap defaults 0 0

CentOS 7手把手教你搭建GitLab_第6张图片

四,接下里我们安装git

4.1 安装 GitLab

将软件源修改为国内源 由于网络环境的原因,将 repo 源修改为清华大学 。

在 /etc/yum.repos.d 目录下新建 gitlab-ce.repo 文件并保存。内容如下:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

4.2 修改完 yum 源,因此先重新生成缓存:

(此步骤执行时间较长,一般需要 3~5 分钟左右,请耐心等待)

yum makecache

4.3 安装 GitLab:

(此步骤执行时间较长,一般需要 3~5 分钟左右,请耐心等待)

yum install -y gitlab-ce

CentOS 7手把手教你搭建GitLab_第7张图片
CentOS 7手把手教你搭建GitLab_第8张图片

五, 初始化 GitLab

5.1 配置 GitLab 的域名(非必需)
       打开 /etc/gitlab/gitlab.rb 文件,在第 13 行附近找到 external_url ‘http://gitlab.example.com’,将单引号中的内容改为自己的域名(带上协议头,末尾无斜杠)
external_url 'http://119.29.102.85'

CentOS 7手把手教你搭建GitLab_第9张图片

5.2 初始化 GitLab 特别重要!

使用如下命令初始化 GitLab:

(此步骤执行时间较长,一般需要 5~10 分钟左右,请耐心等待)

sudo gitlab-ctl reconfigure

CentOS 7手把手教你搭建GitLab_第10张图片
CentOS 7手把手教你搭建GitLab_第11张图片

当看到这个就说明我们gitlab已经安装成功了。
5.3 启动成功之后我们通过浏览器访问下

CentOS 7手把手教你搭建GitLab_第12张图片
CentOS 7手把手教你搭建GitLab_第13张图片

当我们看到进入我们就可以对我们代码进行管理了。

回到我们开始的话题,有些朋友安装成功后看到的界面可能是这个
CentOS 7手把手教你搭建GitLab_第14张图片

这种情况出现的原因:

    原因1、8080端口被tomcat占用
        解决办法:更换端口

    安装tomcat默认的是8080端口,netstat -ntpl查看端口情况
CentOS 7手把手教你搭建GitLab_第15张图片
      最简单的方式我们就是把8080端口kill掉,然后改下端口号
为了避免8080端口冲突问题,可以修改下的默认端口,vim打开/etc/gitlab/gitlab.rb配置文件

执行重新启动

sudo gitlab-ctl reconfigure
sudo gitlab-ctl stop
sudo gitlab-ctl start

相关操作

启动服务:gitlab -ctl start
查看状态:gitlab -ctl status
停掉服务:gitlab -ctl stop
重启服务:gitlab -ctl restart
让配置生效:gitlab -ctl reconfigure

        原因2、gitlab占用内存太多,导致服务器崩溃。尤其是使用阿里云服务器最容易出现502

         解决办法:默认情况下,主机的swap功能是没有启用的,解决办法是启动swap分区,就是我们上面启用的这里就不再过多解释了

       以上就是我们今天的教程,如果本文对你有所帮助,欢迎关注点赞,分享给您身边的朋友。您的鼓励就是对我的最大动力。

相关博客

简书原文博客:CentOS 7手把手教你搭建gitlab环境
掘金原文博客:CentOS 7手把手教你搭建gitlab环境

你可能感兴趣的:(linux,环境搭建,gitlab,linux,centos)