确保你的Debian系统版本为Debian 9 (Stretch)及以上(推荐使用Debian 11/12),并已完成系统更新:
sudo apt update && sudo apt upgrade -y GitLab需要以下依赖包支持SSH通信、证书认证、数据库等功能:
sudo apt install -y curl openssh-server ca-certificates postfix tzdata perl /etc/gitlab/gitlab.rb调整邮件设置)。通过官方脚本添加GitLab社区版(CE)的APT仓库,确保软件包来源可信:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash 此脚本会自动配置GitLab的GPG密钥和仓库地址。
使用APT安装GitLab社区版:
sudo apt install -y gitlab-ce 安装过程中会提示确认依赖包安装,按Y继续。
编辑GitLab主配置文件,设置服务器访问地址(替换为你的域名或IP):
sudo nano /etc/gitlab/gitlab.rb 找到external_url参数,取消注释并修改为:
external_url 'http://your_server_ip_or_domain' 例如:
external_url 'http://192.168.1.100' 保存并退出编辑器(Ctrl+O→Enter→Ctrl+X)。
应用配置并启动GitLab:
sudo gitlab-ctl reconfigure # 应用配置变更 sudo gitlab-ctl start # 启动GitLab服务 sudo systemctl enable gitlab # 设置开机自启 打开浏览器,输入http://your_server_ip_or_domain,进入GitLab登录页面。
root)的密码,设置完成后使用root账号登录。若使用UFW防火墙,开放HTTP(80)端口:
sudo ufw allow 80/tcp sudo ufw enable 若需HTTPS,可通过Let’s Encrypt获取免费SSL证书(需提前配置域名):
sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com 按提示完成证书申请,GitLab会自动配置Nginx反向代理。
若需邮件通知(如密码重置、CI/CD提醒),编辑/etc/gitlab/gitlab.rb添加SMTP设置:
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'] = "your_email@example.com" 保存后重新配置:
sudo gitlab-ctl reconfigure /var/opt/gitlab/backups),可使用gitlab-backup create命令手动备份。sudo apt upgrade gitlab-ce前需检查版本兼容性)。通过以上步骤,你可在Debian系统上成功部署GitLab社区版,并开始使用其代码托管、CI/CD等功能。