温馨提示×

Debian下GitLab如何配置

小樊
39
2026-08-17 12:39:17
栏目: 智能运维

Debian 系统下配置 GitLab,常见有两种方式:

  1. Omnibus 包安装(官方推荐,最省事)
  2. Docker 方式(适合容器化环境)

下面重点讲 Debian + Omnibus GitLab 的完整配置流程(生产环境最常用)。


一、系统要求(建议)

  • Debian 11 (Bullseye) 或 Debian 12 (Bookworm)
  • 最低配置:
    • CPU:2 核
    • 内存:4GB 以上(强烈建议 8GB)
    • 磁盘:20GB+

二、安装 GitLab(Omnibus)

1️⃣ 安装依赖

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

2️⃣ 添加 GitLab APT 仓库

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

GitLab EE 是社区版 + 企业特性,免费可用
若只要 CE,把 gitlab-ee 换成 gitlab-ce


3️⃣ 安装 GitLab

sudo apt update
sudo apt install -y gitlab-ee

三、基础配置(重点)

1️⃣ 修改配置文件

sudo vim /etc/gitlab/gitlab.rb

必改项

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

✅ 如果是 HTTPS

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

2️⃣ 配置邮件(可选但强烈建议)

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_rails['gitlab_email_from'] = 'your@qq.com'

3️⃣ 应用配置

sudo gitlab-ctl reconfigure

⚠️ 这一步会执行 Chef,时间稍长,属于正常现象


四、访问 GitLab

浏览器访问:

http://服务器IP

首次登录:

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

五、GitLab 常用命令

功能 命令
启动 sudo gitlab-ctl start
停止 sudo gitlab-ctl stop
重启 sudo gitlab-ctl restart
查看状态 sudo gitlab-ctl status
重新加载配置 sudo gitlab-ctl reconfigure
查看日志 sudo gitlab-ctl tail

六、配置 HTTPS(推荐)

方式一:Let’s Encrypt(自动)

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

然后:

sudo gitlab-ctl reconfigure

七、防火墙 & 端口

sudo ufw allow 80
sudo ufw allow 443
sudo ufw reload

八、Docker 方式(简单示例)

docker run -d \
  --hostname gitlab.example.com \
  -p 80:80 -p 443:443 -p 22:22 \
  --name gitlab \
  gitlab/gitlab-ee:latest

九、常见问题

❓ GitLab 很慢?

  • 内存 < 4GB
  • 未关闭 Swap
sudo swapoff -a

❓ 502 错误?

  • external_url 不对
  • 端口被占用
  • 服务未完全启动(等 1–2 分钟)

十、你可以继续问我

  • ✅ GitLab CI/CD 配置
  • ✅ 国内加速(清华源)
  • ✅ GitLab Runner 安装
  • ✅ 多实例 / 高可用
  • ✅ 迁移 / 备份恢复

告诉我你的 Debian 版本 + 使用场景,我可以给你更精确的配置方案。

0