root或sudo权限。运行以下命令安装GitLab所需的工具包(包括SSH服务、证书、时区数据等):
sudo apt update
sudo apt install -y curl openssh-server ca-certificates tzdata perl
openssh-server:用于GitLab的SSH克隆/推送功能;ca-certificates:确保HTTPS连接的安全性;tzdata:设置系统时区(避免时间同步问题)。通过官方脚本将GitLab的APT源添加到系统中,确保后续能获取最新版本:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
指定GitLab实例的外部访问地址(替换<YOUR_DOMAIN_OR_IP>为服务器域名或IP):
sudo EXTERNAL_URL="http://<YOUR_DOMAIN_OR_IP>" apt install gitlab-ce -y
192.168.1.100,则命令为sudo EXTERNAL_URL="http://192.168.1.100" apt install gitlab-ce -y。编辑GitLab的主配置文件,调整核心设置(如外部URL、邮件通知等):
sudo nano /etc/gitlab/gitlab.rb
external_url行,修改为你的实际访问地址(如external_url 'http://192.168.1.100');gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@example.com"
gitlab_rails['smtp_password'] = "your-email-password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "gitlab@example.com"
Ctrl+O→Enter→Ctrl+X)。运行以下命令使配置生效,并启动GitLab相关服务:
sudo gitlab-ctl reconfigure
/etc/gitlab/gitlab.rb的配置生成新的服务文件,并启动GitLab;sudo gitlab-ctl status查看服务状态(确保所有服务均为run状态)。http://<YOUR_DOMAIN_OR_IP>(如http://192.168.1.100),进入GitLab登录页面;root用户的密码(默认无密码,需强制修改);sudo gitlab-ctl startsudo gitlab-ctl stopsudo gitlab-ctl restartsudo gitlab-ctl statussudo gitlab-ctl tail(用于排查问题)EXTERNAL_URL为https://<YOUR_DOMAIN>,并在/etc/gitlab/gitlab.rb中启用Let’s Encrypt:letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
运行sudo gitlab-ctl reconfigure即可自动获取SSL证书。ufw(Ubuntu防火墙),需允许HTTP/HTTPS/SSH端口:sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable
以上步骤完成后,你的Ubuntu服务器上已成功部署GitLab社区版,可满足团队代码托管、协作开发等需求。如需更高级的功能(如高可用、负载均衡),可参考GitLab官方文档进行扩展。