下面按常见场景给你一个Debian 上配置 GitLab的完整说明,涵盖 Omnibus 安装(官方推荐)、基础配置、常用优化和常见问题。如果你指的是 GitLab CE(社区版),下面内容完全适用。
sudo apt update && sudo apt upgrade -y
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/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
sudo nano /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
⚠️ 这一步会:
浏览器访问:
http://你的IP或域名
首次登录:
rootsudo cat /etc/gitlab/initial_root_password
⚠️ 密码 24 小时后自动删除(建议登录后立即修改)
external_url 'http://your_ip:8080'
nginx['listen_port'] = 8080
然后:
sudo gitlab-ctl reconfigure
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
external_url 'https://gitlab.example.com'
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
# 查看状态
sudo gitlab-ctl status
# 重启
sudo gitlab-ctl restart
# 查看日志
sudo gitlab-ctl tail
# 重新加载配置
sudo gitlab-ctl reconfigure
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 10
prometheus_monitoring['enable'] = false
✅ 原因:
reconfigure 未完成✅ 解决:
sudo gitlab-ctl restart
free -h
sudo gitlab-backup create
sudo gitlab-backup restore BACKUP=timestamp
✅ 配置 CI/CD Runner
✅ 配置 LDAP / 企业登录
✅ 迁移 GitLab 到新服务器
✅ 配置 Docker + GitLab
如果你愿意,可以告诉我:
我可以给你一份完全定制化的配置方案。