温馨提示×

Debian GitLab如何配置

小樊
39
2026-08-02 10:41:10
栏目: 智能运维

下面按常见场景给你一个Debian 上配置 GitLab的完整说明,涵盖 Omnibus 安装(官方推荐)基础配置常用优化常见问题。如果你指的是 GitLab CE(社区版),下面内容完全适用。


一、环境准备(Debian)

1️⃣ 系统要求

  • Debian 11 (Bullseye) / Debian 12 (Bookworm) ✅
  • 最少 4GB RAM(2GB 也能跑,但会卡)
  • CPU:2 核以上
  • 磁盘:至少 20GB(视仓库大小)

2️⃣ 更新系统

sudo apt update && sudo apt upgrade -y

二、安装 GitLab(Omnibus 方式,推荐)

1️⃣ 安装依赖

sudo apt install -y curl openssh-server ca-certificates tzdata

2️⃣ 添加 GitLab 官方仓库

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/debian $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list

3️⃣ 安装 GitLab CE

sudo apt update
sudo apt install -y gitlab-ce

三、基础配置(最重要)

1️⃣ 修改配置文件

sudo nano /etc/gitlab/gitlab.rb

2️⃣ 设置访问地址(必须)

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

✅ 如果是 IP 访问

external_url 'http://192.168.1.100'

✅ 如果是 HTTPS

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

3️⃣ 应用配置(关键步骤)

sudo gitlab-ctl reconfigure

⚠️ 这一步会:

  • 生成配置
  • 启动所有服务
  • 不可跳过

四、访问 GitLab

浏览器访问:

http://你的IP或域名

首次登录:

  • 用户:root
  • 密码查看:
sudo cat /etc/gitlab/initial_root_password

⚠️ 密码 24 小时后自动删除(建议登录后立即修改)


五、常用配置项(生产环境必看)

1️⃣ 修改端口(非 80)

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

然后:

sudo gitlab-ctl reconfigure

2️⃣ 启用 HTTPS(Let’s Encrypt)

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

3️⃣ 邮件配置(SMTP)

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

六、GitLab 常用管理命令

# 查看状态
sudo gitlab-ctl status

# 重启
sudo gitlab-ctl restart

# 查看日志
sudo gitlab-ctl tail

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

七、性能优化(内存小必看)

1️⃣ 减少 Sidekiq / Puma 进程

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

2️⃣ 关闭监控(可选)

prometheus_monitoring['enable'] = false

八、常见问题

❌ 502 错误

✅ 原因:

  • 内存不足
  • reconfigure 未完成
  • 端口冲突

✅ 解决:

sudo gitlab-ctl restart
free -h

❌ 访问慢

  • 内存 < 4GB
  • 未关闭 Prometheus
  • 使用 HDD 磁盘

九、备份与恢复

备份

sudo gitlab-backup create

恢复

sudo gitlab-backup restore BACKUP=timestamp

十、你下一步可以做什么?

✅ 配置 CI/CD Runner
✅ 配置 LDAP / 企业登录
✅ 迁移 GitLab 到新服务器
✅ 配置 Docker + GitLab


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

  • ✅ GitLab 用途(公司 / 个人 / CI)
  • ✅ Debian 版本
  • ✅ 是否要 HTTPS
  • ✅ 是否内网部署

我可以给你一份完全定制化的配置方案

0