下面给你一份在 Debian 上部署 GitLab(CE 社区版)的完整实操指南,适合生产环境,基于 Omnibus 包方式(官方推荐,最省心)。
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
curl \
openssh-server \
ca-certificates \
tzdata \
gnupg \
lsb-release
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
sudo apt update
sudo apt install -y gitlab-ce
⚠️ 这一步会安装 Omnibus GitLab(包含 Nginx、PostgreSQL、Redis 等)
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
✅ 看到 gitlab Reconfigured! 表示成功
浏览器访问:
http://服务器IP
rootsudo cat /etc/gitlab/initial_root_password
⚠️ 密码只显示一次,建议立即修改
| 功能 | 命令 |
|---|---|
| 启动 | sudo gitlab-ctl start |
| 停止 | sudo gitlab-ctl stop |
| 重启 | sudo gitlab-ctl restart |
| 查看状态 | sudo gitlab-ctl status |
| 查看日志 | sudo gitlab-ctl tail |
sudo ufw allow 80
sudo ufw allow 22
sudo ufw enable
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
然后:
sudo gitlab-ctl reconfigure
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
gitlab-ctl reconfigure 未完成✅ 新手 / 生产环境 → Omnibus(本文)
✅ 大规模 / k8s → GitLab Helm Chart
✅ 轻量测试 → Docker GitLab(不稳定)
如果你告诉我:
我可以帮你「定制一份最小化 + 最优配置」。