温馨提示×

centos gitlab如何配

小樊
38
2026-09-30 00:56:11
栏目: 智能运维

在 CentOS 上部署 GitLab 一般有 两种方式:
✅ 官方 Omnibus 包(最推荐,简单稳定)
✅ Docker 方式(适合已有 Docker 环境)

下面我按 CentOS 7 / 8(含 Stream) 给你一份可落地的配置教程。


一、使用官方 Omnibus 安装(推荐)

1. 系统准备

# 关闭防火墙(或自行放行 80/443/22)
systemctl stop firewalld
systemctl disable firewalld

# 关闭 SELinux(或配置为 permissive)
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

⚠️ 生产环境建议保留 SELinux,并单独配置策略


2. 安装依赖

yum install -y curl policycoreutils openssh-server postfix
systemctl enable sshd postfix
systemctl start sshd postfix

3. 添加 GitLab 仓库

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

社区版用 gitlab-ce

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

4. 安装 GitLab

EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

或本地 IP:

EXTERNAL_URL="http://192.168.1.100" yum install -y gitlab-ee

5. 初始化配置

gitlab-ctl reconfigure

访问:

http://服务器IP

首次登录账号:

  • 用户名:root
  • 密码:在 /etc/gitlab/initial_root_password

二、常见配置(/etc/gitlab/gitlab.rb)

1. 修改访问地址

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

2. 修改端口(避免 80 冲突)

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

重新配置:

gitlab-ctl reconfigure

3. 配置 HTTPS(可选)

external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true

4. 邮件配置(SMTP)

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_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

三、常用管理命令

gitlab-ctl status
gitlab-ctl stop
gitlab-ctl start
gitlab-ctl restart
gitlab-ctl tail

四、Docker 方式(简要)

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

五、常见问题

1. 访问慢 / 卡

  • 至少 4G 内存
  • 关闭 Prometheus:
prometheus_monitoring['enable'] = false

2. 忘记 root 密码

gitlab-rails console
user = User.find_by(username: 'root')
user.password = '新密码'
user.save!

如果你告诉我:

  • ✅ CentOS 版本
  • ✅ 是否内网 / 公网
  • ✅ 是否需要 HTTPS / 邮箱 / CI

我可以直接给你 一份完整可复制的配置文件。

0 踩