CentOS7离线搭建GitLab

一、前言

gitlab是一个开源的分布式代码托管平台,相比于svn的集中式管理,gitlab更适合在多团队协作开发中作为项目源码的托管平台,同时配合CI/CD工具,实现流水线。

本文是在CentOs7系统上,安装gitlab的过程记录。

二、准备工作

gitlab的安装,需要依赖相关组件,主要有

  • policycoreutils-python

  • openssh

  • postfix

在正式安装之前,需要检查linux操作系统中,是否已安装了这些组件;

1、检查policycoreutils-python是否安装

使用命令检查是否安装policycoreutils-python

rpm -qa|grep policycoreutils-python

如果出现以下内容,则linux已安装policycoreutils-python。
在这里插入图片描述

否则就需要单独安装policycoreutils-python。

2、检查openssh是否安装

使用命令检查是否安装openssh

rpm -qa|grep openssh

如果出现以下内容,则linux已安装openssh。
在这里插入图片描述
否则就需要单独安装openssh,安装命令如下:

yum -y install openssh.x86_64

yum -y install openssh-server.x86_64

yum -y install openssh-clients.x86_64
3、检查postfix是否安装

使用命令检查是否安装postfix

rpm -qa|grep postfix

如果出现以下内容,则linux已安装postfix,否则就需要单独安装postfix。
在这里插入图片描述

三、下载gitlab安装包

从gitlab官网地址中下载:https://packages.gitlab.com/gitlab/gitlab-ce,选择适用于CentOS7的el/7版本进行下载。
在这里插入图片描述

点击如图所示按钮,即可进行下载;
在这里插入图片描述

四、安装步骤

1、服务设置
1.1. 设置ssh开机自启动

设置ssh服务为开机自启动

systemctl enable sshd

启动服务器上的ssh服务

systemctl start sshd

查看ssh服务状态

systemctl status sshd

activie(running)表示ssh服务已启动成功;
在这里插入图片描述

1.2.设置http服务防火墙策略

CentOS7默认防火墙firewall是安装并开启的,需要把httpd服务策略添加到防火墙,命令如下:

firewall-cmd --permanent --add-service=http

重启防火墙使配置生效

systemctl reload firewalld
1.3.设置postfix开机自启动

将postfix服务设置为开机自启动

systemctl enable postfix

然后启动postfix服务

systemctl start postfix

查看postfix服务状态

systemctl status postfix

activie(running)表示postfix服务已启动成功;
在这里插入图片描述

2、gitlab安装

使用ftp工具,将下载好的gitlab-ce-12.1.17-ce.0.el7.x86_64.rpm安装包,上传到CentOS服务器的目录下,进入到安装包路径后,使用rpm命令进行gitlab安装

rpm -i gitlab-ce-12.7.8-ce.0.el7.x86_64.rpm

当出现以下内容提示,说明gitlab安装成功;
在这里插入图片描述

3、修改配置
3.1.配置gitlab地址

修改/etc/gitlab/gitlab.rb文件中的external_url,设置gitlab的登录地址;

vi /etc/gitlab/gitlab.rb

将external_url,设置为自己系统的ip+端口号。
在这里插入图片描述

修改完成保存后,使用命令重置gitlab

gitlab-ctl reconfigure

整个过程需要花费5-6分钟(视服务器配置)。完成后会看到如下日志信息:
在这里插入图片描述

3.2.服务重启

使用命令重启gitlab

gitlab-ctl restart

在这里插入图片描述
重启完成后,使用配置的登录地址,在浏览器中打开。出现gitlab登录页面,整个安装过程完成。

3.3.修改仓库路径(可选操作)

gitlab默认的仓库地址为/var/opt/gitlab/git-data/repositories,由于仓库的存储空间,通常需要比较大的空间,而默认的路径在系统盘下通常存储空间比较小。因此有必要修改默认的仓库存储路径。

  1. 创建自定义仓库路径,如/data2/gitlab/git-data
  2. 修改/etc/gitlab/gitlab.rb文件中的git_data_dirs路径,设置gitlab的仓库地址如下图所示:
    在这里插入图片描述
  3. 修改完成保存后,使用命令重置gitlab配置。完成后可以在自定义的仓库路径/data2/gitlab/git-data下,看到自动创建的仓库目录repositories
gitlab-ctl reconfigure
  1. 最后重启gitlab服务
gitlab-ctl restart
3.4.修改备份路径(可选操作)

备份路径通常也是默认在系统盘/var/opt/gitlab/backups目录下,需要将备份目录设置到存储空间更大的其他挂载点下。

  1. 新建备份目录,如/data2/gitlab/backups
  2. 修改/etc/gitlab/gitlab.rb文件中的backup_path路径,设置gitlab的备份路径如下图所示
    在这里插入图片描述
  3. 修改完成保存后,使用命令重置gitlab配置
gitlab-ctl reconfigure
  1. 最后重启gitlab服务
gitlab-ctl restart
4、问题

有部分环境在安装完成浏览器打开登陆地址后,会报502错误。
在这里插入图片描述

​ 楼主在安装过程中未出现这个问题。为方便以后遇到该问题时,提供解决方法,查阅了相关资料,可能产生的原因有:

4.1.服务器内存不足

查阅相关资料,有资料显示,gitlab启动要求服务器至少有4G的运行内存。

4.2.gitlab日志权限问题

这种情况下,需要对gitlab的日志文件夹进行赋权操作,然后重置gitlab配置。

对日志目录赋权:

chmod -R 775/var/log/gitlab

然后重置gitlab配置

gitlab-ctl reconfigure

使用命令重启gitlab

gitlab-ctl restart
4.3.端口被占用

如果上述两种原因都不存在,需要检查下gitlab的日志

tail -100f /var/log/gitlab/unicorn/unicorn_stderr.log

在这里插入图片描述
分析日志中的报错信息,显示8080端口被占用。需要修改gitlab的端口号。

修改gitlab的端口号,需要修改/etc/gitlab/gitlab.rb配置文件中的内容

vi /etc/gitlab/gitlab.rb

找到unicorn[‘port’]=8080,去掉注释,并改成其他未被占用的端口。
在这里插入图片描述

修改完成后保存文件,然后重置gitlab配置

gitlab-ctl reconfigure

重置完成后,对gitlab进行重启

gitlab-ctl restart

五、结语

安装步骤是楼主安装真实安装过程记录的。安装后出现的502报错问题,作者是由于8080端口被占用导致的,按照上述相关的解决方案,能够解决该问题。

gitlab安装完成后,下一步就可以正式使用了,但在使用前,还是需要做相关的使用配置和初始化的。待后续有空再整理。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值