CentOS8安装GitLab13.7.2

x33g5p2x  于2021-11-11 转载在 其他  
字(3.4k)|赞(0)|评价(0)|浏览(323)

卸载gitlab

注意:如果之前没有安装gitlab可以跳过卸载gitlab步骤,直接进入安装依赖库

1、停止gitlab

# 停止gitlab
gitlab-ctl stop
# 查看gitlab状态
gitlab-ctl status

输出结果,如果都是down说明停止成功

2、卸载gitlab(注意这里写的是gitlab-ce)

rpm -e gitlab-ce

3、查看gitlab进程

ps -ef | grep gitlab

4、杀掉带有好多…的进程

kill -9 202859

杀掉后,执行ps -ef | grep gitlab确认一遍,还有没有gitlab的进程

5、删除所有包含gitlab文件

find / -name gitlab | xargs rm -rf

安装依赖库

# 安装依赖
yum install -y curl policycoreutils openssh-server

# 打开http, https和ssh访问
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
systemctl reload firewalld

# 安装postfix,用来发送通知邮件
yum install -y postfix
systemctl enable postfix
systemctl start postfix

安装gitlab-ce

下载GitLab社区版安装包,链接地址:gitlab官网下载

国内建议使用的清华大学的镜像源下载GitLab,链接地址:清华大学镜像源下载

在下载好安装包后,放到自己习惯放的路径下即可,笔者这里放到/usr/local目录

# 进入安装包所在目录
cd /usr/local
# rpm方式安装gitlab,一般出现gitlab的logo图案表示安装完毕了
rpm -ivh gitlab-ce-13.7.2-ce.0.el8.x86_64.rpm

如果访问不了,记得关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

内存要大于4G,内存不足报错

free -m

需要用到的端口

# puma['port'] = 8080
# postgresql['port'] = 5432
# redis['port'] = 6379
# sentinel['port'] = 26379
# nginx['listen_port'] = nil
# nginx['listen_https'] = nil

注意新配置的端口号不要被其他进程占用,且要在防火墙设置放开

查看 puma,nginx,redis端口是否被占用,可以使用 命令 gitlab-ctl tail puma 追踪查看启动信息

编辑gitlab配置文件

vim /etc/gitlab/gitlab.rb

注释如下配置

# 注释如下配置
# external_url 'http://gitlab.example.com'

添加如下配置

# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.138.8:9080'
#修改默认端口
nginx['listen_port'] = 9080
# 修改puma服务器端口
puma['port']=9081
# 配置时区为 亚洲/上海 东八区时间
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 后台认证地址
gitlab_workhorse['auth_backend'] = "http://localhost:9081"

注意:因为从GitLab 13.0开始,Puma是默认的Web服务器,并且Unicorn默认情况下处于禁用状态。

执行如下命令查看版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

如果小于13.0版本默认使用的是unicorn,默认为unicorn['port'] = 8080

如果大于13.0版本默认使用的是puma,在/etc/gitlab/gitlab.rb配置中,查看puma的端口是否被占用,默认为puma['port']=8080,修改为服务器没有被占用的端口

puma['port']=9080

如果8080端口被占用,/var/log/gitlab/puma/current会报如下错误

2021-01-11_12:46:07.24719 Errno::EADDRINUSE: Address already in use - bind(2) for "127.0.0.1" port 8080

/var/log/gitlab/nginx/current会报如下错误

2021-01-11_12:44:01.18684 2021/01/11 20:43:58 [emerg] 21319#0: still could not bind()
2021-01-11_12:44:01.24463 2021/01/11 20:44:01 [emerg] 21324#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2021-01-11_12:44:01.74656 2021/01/11 20:44:01 [emerg] 21324#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)
2021-01-11_12:44:02.24768 2021/01/11 20:44:01 [emerg] 21324#0: bind() to 0.0.0.0:8080 failed (98: Address already in use)

刷新配置,让配置生效

gitlab-ctl reconfigure

重启服务

gitlab-ctl restart

登录gitlab

进入gitlab网址:http://192.168.138.8:9080/, 设置root用户密码,至少8个字符,为了方便记忆,这里设置为root1234

设置好root用户密码,重新登录

登录成功页面如下

gitlab日常使用

文件路径

安装成功后,可以利用rpm -ql gitlab-ce查询其文件安装路径及相关文件路径

# 主要配置文件目录
主配置文件: /etc/gitlab/gitlab.rb
默认安装路径:/opt/gitlab
代码仓库保存位置:/var/opt/gitlab/git-data/repositories
代码仓库备份位置:/var/opt/gitlab/backups
nginx配置文件: /var/opt/gitlab/nginx/conf/gitlab-http.conf
postgresql数据及配置目录:/var/opt/gitlab/postgresql/data
redis默认配置目录:/var/opt/gitlab/redis
各服务数据及配置文件保存路径:/var/opt/gitlab
日志地址:/var/log/gitlab

gitlab服务构成

# Gitlab服务构成
nginx: 静态web服务器
gitlab-shell: 用于处理Git命令和修改authorized keys列表
gitlab-workhorse: 轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:HTTP服务,13.0版本之前GitLab Rails应用是托管在这个服务器上
puma:HTTP服务,13.0版本后GitLab Rails应用是托管在这个服务器上

gitlab常用命令

# 重新编译gitlab的配置
gitlab-ctl reconfigure
# 启动
gitlab-ctl start
# 停止
gitlab-ctl stop
# 重启
gitlab-ctl restart

# 实时查看日志
gitlab-ctl tail
# 实时各个模块日志
gitlab-ctl tail redis/postgresql/gitlab-workhorse/logrotate/nginx/sidekiq/unicorn/puma
# 帮助命令
gitlab-ctl --help
# 检查gitlab
gitlab-rake gitlab:check SANITIZE=true --trace

相关文章