下面按最常见场景给你一个清晰、可落地的 GitLab(Linux 版)配置指南,适合自建 GitLab CE(社区版),以 Ubuntu / Debian 为主(CentOS / RHEL 会单独说明)。
GitLab 官方推荐 Omnibus 安装包,一条命令即可完成:
✅ 不要用源码安装(维护成本极高)
| 项目 | 建议 |
|---|---|
| CPU | 4 核+ |
| 内存 | 8GB+(4GB 非常卡) |
| 磁盘 | 50GB+(代码+CI) |
| 系统 | Ubuntu 20.04 / 22.04 |
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata
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
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
✅ 如果是 IP:
external_url 'http://192.168.1.100'
✅ 如果是 HTTPS:
external_url 'https://gitlab.example.com'
sudo gitlab-ctl reconfigure
⚠️ 第一次会等 3–10 分钟
浏览器访问:
http://your_ip
首次登录:
rootsudo cat /etc/gitlab/initial_root_password
⚠️ 24 小时后自动删除
external_url 'http://192.168.1.100:8080'
nginx['enable'] = false
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
sidekiq['max_concurrency'] = 10
puma['worker_processes'] = 2
sudo gitlab-ctl start
sudo gitlab-ctl stop
sudo gitlab-ctl restart
sudo gitlab-ctl status
sudo gitlab-ctl tail
sudo yum install -y curl policycoreutils openssh-server
curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /etc/pki/rpm-gpg/gitlab.gpg
sudo yum install -y gitlab-ce
sudo gitlab-ctl reconfigure
gitlab-ctl reconfigure 未完成✅ 配置 HTTPS(Let’s Encrypt)
✅ 配置 CI Runner
✅ 迁移 GitLab
✅ 对接 LDAP / AD
✅ 备份与恢复
如果你愿意,可以告诉我:
1️⃣ 你的 Linux 版本
2️⃣ 是 内网还是公网
3️⃣ 是否要 HTTPS / 域名
我可以直接给你定制配置方案 ✅