温馨提示×

GitLab Linux如何配置

小樊
41
2026-07-14 10:16:55
栏目: 智能运维

下面分场景给你讲 GitLab 在 Linux 上的配置,从安装 → 基础配置 → 常用高级配置 → 常见问题,基本覆盖 90% 的使用情况。


一、GitLab 常见部署方式

方式 适合
Omnibus GitLab(官方推荐) 生产环境、快速部署
Docker 部署 测试、快速迁移
源码安装 不推荐,维护成本高

生产环境强烈推荐:Omnibus GitLab


二、Omnibus GitLab 安装(最常用)

1️⃣ 系统要求

  • OS:Ubuntu / Debian / CentOS / Rocky / Alma
  • 内存:≥ 4GB(推荐 8GB)
  • CPU:≥ 2 核

2️⃣ 安装依赖

# Ubuntu / Debian
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata

# CentOS / Rocky
sudo yum install -y curl openssh-server

3️⃣ 添加 GitLab 仓库并安装

Ubuntu / Debian

curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/gitlab-archive-keyring.gpg] \
https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list

sudo apt update
sudo apt install -y gitlab-ce

CentOS / Rocky

curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /etc/pki/rpm-gpg/gitlab-archive-keyring.gpg

sudo yum install -y gitlab-ce

4️⃣ 基础配置(关键)

编辑配置文件:

sudo vim /etc/gitlab/gitlab.rb

✅ 最小配置(必须)

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

如果是 HTTPS

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

应用配置

sudo gitlab-ctl reconfigure

三、常用核心配置项

1️⃣ 修改端口

external_url 'http://192.168.1.100:8080'

2️⃣ 配置邮件(SMTP)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123456@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

应用:

sudo gitlab-ctl reconfigure

测试邮件:

sudo gitlab-rails console
Notify.test_email('test@example.com', 'Test', 'Hello').deliver_now

3️⃣ 配置 HTTPS(Let’s Encrypt)

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']

4️⃣ 修改数据存储目录

git_data_dirs({
  "default" => { "path" => "/data/gitlab/git-data" }
})

四、GitLab 常用管理命令

# 查看状态
sudo gitlab-ctl status

# 重启
sudo gitlab-ctl restart

# 查看日志
sudo gitlab-ctl tail

# 重新加载配置
sudo gitlab-ctl reconfigure

五、防火墙 & 端口

# 开放端口
sudo ufw allow 80
sudo ufw allow 443

# 或 firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

六、初始登录

  1. 浏览器访问:
http://服务器IP
  1. 查看初始密码:
sudo cat /etc/gitlab/initial_root_password

⚠️ 24 小时后自动删除


七、常见错误

❌ 502 Whoops

  • 内存不足
  • 端口冲突
  • external_url 配置错误

❌ 访问慢

puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 10

八、Docker 方式(简单)

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

九、你接下来可能需要配置

✔ GitLab Runner(CI/CD)
✔ LDAP / AD 登录
✔ 备份与恢复
✔ Nginx 反向代理
✔ 多实例 / 高可用


如果你愿意,可以告诉我:

  • Linux 发行版
  • 是否生产环境
  • 是否需要 HTTPS / 邮件 / CI

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

0