文章目录
一、前言
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,由于仓库的存储空间,通常需要比较大的空间,而默认的路径在系统盘下通常存储空间比较小。因此有必要修改默认的仓库存储路径。
- 创建自定义仓库路径,如/data2/gitlab/git-data
- 修改/etc/gitlab/gitlab.rb文件中的git_data_dirs路径,设置gitlab的仓库地址如下图所示:
- 修改完成保存后,使用命令重置gitlab配置。完成后可以在自定义的仓库路径/data2/gitlab/git-data下,看到自动创建的仓库目录repositories
gitlab-ctl reconfigure
- 最后重启gitlab服务
gitlab-ctl restart
3.4.修改备份路径(可选操作)
备份路径通常也是默认在系统盘/var/opt/gitlab/backups目录下,需要将备份目录设置到存储空间更大的其他挂载点下。
- 新建备份目录,如/data2/gitlab/backups
- 修改/etc/gitlab/gitlab.rb文件中的backup_path路径,设置gitlab的备份路径如下图所示
- 修改完成保存后,使用命令重置gitlab配置
gitlab-ctl reconfigure
- 最后重启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安装完成后,下一步就可以正式使用了,但在使用前,还是需要做相关的使用配置和初始化的。待后续有空再整理。