下面按最常见的两种场景给你讲:① 用 Omnibus 包安装 GitLab(官方推荐)、② Docker 方式。如果你只是客户端使用 GitLab,只看第 4 节即可。
sudo apt update
sudo apt install -y curl openssh-server ca-certificates postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" apt install gitlab-ee
如果是 CentOS:
sudo EXTERNAL_URL="http://gitlab.example.com" yum install gitlab-ee
/etc/gitlab/gitlab.rb
常见配置示例:
external_url 'http://gitlab.example.com'
# 修改端口
nginx['listen_port'] = 80
# 邮箱配置(可选)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "授权码"
修改后执行:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake "gitlab:password:reset[root]"
浏览器访问:
http://服务器IP
docker run -d \
--hostname gitlab.example.com \
-p 443:443 -p 80:80 -p 22:22 \
--name gitlab \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee
配置文件仍在:
/srv/gitlab/config/gitlab.rb
sudo apt install git # Ubuntu
sudo yum install git # CentOS
git config --global user.name "你的名字"
git config --global user.email "你@邮箱.com"
ssh-keygen -t rsa -C "你@邮箱.com"
cat ~/.ssh/id_rsa.pub
把内容粘贴到 GitLab → User Settings → SSH Keys
git clone git@gitlab.example.com:group/project.git
✅ 502 错误
→ 内存不足,或 gitlab-ctl reconfigure 未完成
✅ 端口冲突
→ 修改 gitlab.rb 中 nginx['listen_port']
✅ 忘记 root 密码
sudo gitlab-rake "gitlab:password:reset[root]"
如果你能告诉我:
我可以直接给你一条命令级别的可执行方案。