温馨提示×

CentOS如何搭建GitLab

小樊
43
2026-07-08 09:35:07
栏目: 智能运维

CentOS 上搭建 GitLab(官方推荐方式)通常有两种选择:

  1. GitLab CE(社区版)官方 Omnibus 安装(最常用、最省事) ✅
  2. Docker 方式(适合已使用 Docker 的环境)

下面我给你 CentOS 7 / CentOS 8/Stream完整可操作方案,从零到可用。


一、准备环境(重要)

1️⃣ 系统要求

  • 内存:至少 4GB(2GB 会很卡)
  • CPU:2 核及以上
  • 磁盘:至少 20GB
  • 系统:CentOS 7 / CentOS 8 / Rocky / Alma 均可

2️⃣ 关闭 SELinux(推荐)

setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

3️⃣ 开放端口

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

二、安装 GitLab CE(官方 Omnibus 方式 ✅)

1️⃣ 安装依赖

yum install -y curl policycoreutils openssh-server

启动 SSH:

systemctl enable sshd
systemctl start sshd

2️⃣ 添加 GitLab 官方仓库

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

3️⃣ 安装 GitLab CE

yum install -y gitlab-ce

安装过程较慢,耐心等待


三、配置 GitLab

1️⃣ 修改访问地址

vim /etc/gitlab/gitlab.rb

修改这一行(改成你的 IP 或域名):

external_url 'http://gitlab.example.com'

例如:

external_url 'http://192.168.1.100'

2️⃣ 初始化配置(关键步骤)

gitlab-ctl reconfigure

⚠️ 第一次执行时间较长


四、启动 GitLab

gitlab-ctl start

常用命令:

gitlab-ctl status
gitlab-ctl restart
gitlab-ctl stop

五、访问 GitLab

浏览器访问:

http://服务器IP

首次登录会要求设置 root 密码

✅ 默认用户名:

root

六、常见配置

1️⃣ 修改端口(如 8080)

external_url 'http://192.168.1.100:8080'
nginx['listen_port'] = 8080

然后:

gitlab-ctl reconfigure

2️⃣ 邮件配置(可选)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

七、Docker 方式(可选)

适合已经使用 Docker 的场景:

docker run -d \
  --hostname gitlab.example.com \
  -p 80:80 -p 443:443 -p 22:22 \
  --name gitlab \
  -v /data/gitlab/config:/etc/gitlab \
  -v /data/gitlab/logs:/var/log/gitlab \
  -v /data/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

八、常见问题

❌ 502 错误

  • 内存不足
  • 配置未生效
  • 端口冲突

查看日志:

gitlab-ctl tail

九、推荐配置总结

生产环境推荐

  • GitLab CE + Omnibus
  • 4GB 内存以上
  • Nginx + HTTPS
  • 定期备份

如果你愿意,我可以帮你:

  • ✅ 配置 HTTPS(Let’s Encrypt)
  • ✅ 配置 GitLab Runner(CI/CD)
  • ✅ 迁移 GitLab 到其他服务器
  • ✅ 优化低内存服务器配置

你现在是 CentOS 几? 物理机 / 云服务器?

0