Debian系统GitLab搭建与配置指南
在开始安装前,需完成以下基础准备:
sudo apt update && sudo apt upgrade -y
curl(下载工具)、openssh-server(SSH访问)、ca-certificates(SSL证书)、tzdata(时区设置)、postfix(邮件服务,可选但推荐)等依赖。sudo apt install -y curl openssh-server ca-certificates tzdata postfix
安装postfix时,选择“Internet Site”类型并设置系统域名(如example.com),用于邮件通知。GitLab官方仓库提供最新的稳定版本,需通过以下步骤添加:
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
bullseye、bookworm)添加对应仓库。echo "deb 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
通过APT包管理器安装GitLab CE(免费社区版):
sudo apt install -y gitlab-ce
安装过程中,系统会提示设置管理员密码(用于初始登录),请妥善保存。
GitLab的主配置文件为/etc/gitlab/gitlab.rb,需修改以下关键参数:
http://192.168.1.100或https://gitlab.example.com。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.163.com" # SMTP服务器地址
gitlab_rails['smtp_port'] = 587 # SMTP端口(通常587或465)
gitlab_rails['smtp_user_name'] = "your_email@163.com" # 发件邮箱
gitlab_rails['smtp_password'] = "your_email_password" # 邮箱授权码(非登录密码)
gitlab_rails['smtp_domain'] = "163.com" # SMTP服务器域名
gitlab_rails['smtp_authentication'] = "login" # 认证方式(login/login_smtp)
gitlab_rails['smtp_enable_starttls_auto'] = true # 启用TLS加密
gitlab_rails['gitlab_email_from'] = "your_email@163.com" # 发件人地址
letsencrypt['enable'] = true
letsencrypt['auto_renew'] = true
letsencrypt['contact_emails'] = ['your_email@example.com'] # 证书到期提醒邮箱
external_url 'https://gitlab.example.com' # 需与上述URL一致
保存并退出编辑器(Ctrl+O→Enter→Ctrl+X)。gitlab.rb的修改生效,此命令会自动安装依赖、生成配置文件。sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo systemctl enable gitlab-runsvdir
ufw防火墙,需允许HTTP(80)和HTTPS(443)流量。sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
external_url(如http://192.168.1.100),首次访问需设置管理员密码(默认管理员账号为root)。ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按提示保存密钥(默认路径~/.ssh/id_rsa)。cat ~/.ssh/id_rsa.pub),登录GitLab后进入Settings → SSH Keys,粘贴公钥并保存。sudo nano /etc/gitlab/gitlab.rb
添加以下配置:gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" # 备份存储路径
gitlab_rails['backup_keep_time'] = 7 * 24 * 3600 # 保留最近7天备份
重新配置后,每天凌晨2点自动备份(可通过crontab调整时间)。curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
sudo apt install -y gitlab-ci-multi-runner
sudo gitlab-runner register # 按提示输入GitLab URL和注册令牌(从项目→Settings→CI/CD→Runners获取)
external_url配置是否正确。postfix服务是否运行(sudo systemctl status postfix),或SMTP配置是否有误。sshd服务正常运行(sudo systemctl status ssh)。