debian

Debian GitLab如何搭建与配置

小樊
40
2025-11-01 07:14:14
栏目: 智能运维

Debian系统GitLab搭建与配置指南

一、前置准备

在开始安装前,需完成以下基础准备:

  1. 系统更新:确保Debian系统软件包为最新版本,避免兼容性问题。
    sudo apt update && sudo apt upgrade -y
    
  2. 安装依赖包:GitLab需要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官方仓库

GitLab官方仓库提供最新的稳定版本,需通过以下步骤添加:

  1. 导入GPG密钥:验证软件包来源的安全性。
    curl https://packages.gitlab.com/gpg.key | sudo apt-key add -
    
  2. 添加APT仓库:根据Debian版本(如bullseyebookworm)添加对应仓库。
    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
    
  3. 更新APT列表:同步仓库信息。
    sudo apt update
    

三、安装GitLab Community Edition(CE)

通过APT包管理器安装GitLab CE(免费社区版):

sudo apt install -y gitlab-ce

安装过程中,系统会提示设置管理员密码(用于初始登录),请妥善保存。

四、配置GitLab核心参数

GitLab的主配置文件为/etc/gitlab/gitlab.rb,需修改以下关键参数:

  1. 设置外部访问URL:定义GitLab的访问地址(域名或IP),如http://192.168.1.100https://gitlab.example.com
    sudo nano /etc/gitlab/gitlab.rb
    
    找到external_url行,取消注释并修改:
    external_url 'http://192.168.1.100'
    
  2. 配置邮件服务(可选但推荐):用于账户激活、密码重置等通知。
    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"  # 发件人地址
    
  3. 启用HTTPS(可选,推荐生产环境使用):通过Let’s Encrypt获取免费SSL证书。
    letsencrypt['enable'] = true
    letsencrypt['auto_renew'] = true
    letsencrypt['contact_emails'] = ['your_email@example.com']  # 证书到期提醒邮箱
    external_url 'https://gitlab.example.com'  # 需与上述URL一致
    
    保存并退出编辑器(Ctrl+OEnterCtrl+X)。

五、应用配置并启动GitLab

  1. 重新配置GitLab:使gitlab.rb的修改生效,此命令会自动安装依赖、生成配置文件。
    sudo gitlab-ctl reconfigure
    
  2. 重启GitLab服务:应用最新配置。
    sudo gitlab-ctl restart
    
  3. 设置开机自启:确保服务器重启后GitLab自动启动。
    sudo systemctl enable gitlab-runsvdir
    

六、访问GitLab

  1. 开放防火墙端口:若系统启用了ufw防火墙,需允许HTTP(80)和HTTPS(443)流量。
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload
    
  2. 浏览器访问:在浏览器中输入配置的external_url(如http://192.168.1.100),首次访问需设置管理员密码(默认管理员账号为root)。

七、后续配置(可选但实用)

  1. 配置SSH密钥访问:避免每次推送代码都输入密码。
    • 生成SSH密钥(本地机器):
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      
      按提示保存密钥(默认路径~/.ssh/id_rsa)。
    • 添加公钥到GitLab: 复制公钥内容(cat ~/.ssh/id_rsa.pub),登录GitLab后进入Settings → SSH Keys,粘贴公钥并保存。
  2. 配置自动备份:定期备份GitLab数据(仓库、数据库、配置等)。
    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调整时间)。
  3. 安装GitLab Runner(用于CI/CD):实现代码自动构建、测试、部署。
    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获取)
    

常见问题解决

0
看了该问题的人还看了