在CentOS系统上安装GitLab是一个多步骤的过程,涉及系统准备、依赖安装、GitLab安装和配置等,以下是详细步骤:
一、准备工作
1、系统要求:
CentOS 7 或 CentOS 8
CPU:2核或以上
内存:4GB或以上
磁盘:20GB可用空间
二、配置基础环境
执行以下命令更新系统并安装基础工具:
sudo yum update y sudo yum install y curl policycoreutilspython opensshserver perl
三、安装所需组件
1. 安装 PostgreSQL
GitLab使用PostgreSQL作为默认数据库,安装并初始化:
sudo yum install y postgresqlserver sudo systemctl enable postgresql sudo systemctl start postgresql
2. 安装 Redis
Redis用于缓存和其他GitLab服务:
sudo yum install y redis sudo systemctl enable redis sudo systemctl start redis
四、添加GitLab软件源
使用官方脚本配置GitLab社区版(CE)软件源:
curl sS https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.rpm.sh | sudo bash
五、安装GitLab
安装GitLab CE并指定外部访问地址:
EXTERNAL_URL="http://yourdomainorip" sudo yum install y gitlabce
六、配置数据存储路径
修改GitLab配置文件/etc/gitlab/gitlab.rb
:
sudo vi /etc/gitlab/gitlab.rb
添加以下内容:
git_data_dirs({ "default" => { "path" => "/data/gitlab/gitdata" } }) gitlab_rails['backup_path'] = "/data/gitlab/backups"
七、启动GitLab
应用配置并启动GitLab:
sudo gitlabctl reconfigure sudo gitlabctl restart
八、查看初始密码
GitLab在初始化时会生成一个管理员账号密码,查看文件即可:
cat /etc/gitlab/initial_root_password
九、访问GitLab
在浏览器中输入http://yourdomAInorip
,使用root账户和生成的初始密码登录,登录后可创建项目、管理用户、配置CI/CD等。
十、GitLab常用命令
1、服务管理:
启动GitLab:sudo gitlabctl start
停止GitLab:sudo gitlabctl stop
重启GitLab:sudo gitlabctl restart
检查服务状态:sudo gitlabctl status
2、配置与日志:
重新配置GitLab:sudo gitlabctl reconfigure
查看配置文件:cat /etc/gitlab/gitlab.rb
查看日志:less /var/log/gitlab/gitlabrails/production.log
3、数据备份与还原:
手动备份:sudo gitlabrake gitlab:backup:create
还原备份:sudo gitlabrake gitlab:backup:restore
清理旧备份文件:sudo gitlabctl cleanup
十一、GitLab组件说明
组件 | 功能说明 |
Puma | 运行GitLab Rails的Web应用服务器 |
Redis | 用于缓存和会话管理 |
PostgreSQL | 数据库服务,存储GitLab的核心数据 |
Nginx | 静态文件服务和反向代理 |
SIDekiq | 后台任务处理 |
Prometheus | 系统监控与报警工具 |
Gitaly | 提供Git仓库服务,支持Git操作 |
十二、GitLab目录结构
目录位置 | 说明 |
/var/opt/gitlab/gitdata/repositories | 仓库存储目录 |
/opt/gitlab | GitLab安装路径 |
/etc/gitlab | 配置文件路径 |
/var/log/gitlab | GitLab日志存储路径 |
/var/opt/gitlab/backups | 备份文件存储目录 |
十三、最佳实践
1、定期备份:添加定时任务,每天自动备份:
crontab e # 添加以下内容,每天凌晨备份 0 0 * * * /opt/gitlab/bin/gitlabrake gitlab:backup:create CRON=1
2、启用日志轮转:防止日志文件过大:
sudo gitlabctl logrotate
3、优化性能:根据服务器配置,调整以下参数:
puma['worker_processes'] = <CPU核心数> sidekiq['concurrency'] = <合适的并发数>
4、配置SSL:启用HTTPS确保传输安全,在配置文件/etc/gitlab/gitlab.rb
中配置SSL证书路径,然后重启GitLab:
sudo gitlabctl reconfigure
十四、相关问答FAQs
1、如何在CentOS上卸载GitLab?:要卸载GitLab,首先停止GitLab服务,然后删除GitLab包和相关数据目录,具体步骤如下:
sudo gitlabctl stop sudo yum remove y gitlabce sudo rm rf /var/opt/gitlab /etc/gitlab /var/log/gitlab /var/lib/gitahead /usr/share/doc/gitlab* /etc/gitlab /var/opt/gitlab /var/cache/gitlab /var/lib/pgsql /var/lib/redis /home/git /var/lib/rabbitmq /var/lib/postgresql /var/lib/mysql
2、如何更改GitLab的默认端口?:要更改GitLab的默认端口,需要编辑配置文件/etc/gitlab/gitlab.rb
,找到并修改以下行:
external_url 'http://yourdomainorip:<new_port>' nginx['listen_port'] = <new_port>