温馨提示×

GitLab在Debian上有哪些使用技巧

小樊
42
2025-12-17 05:43:52
栏目: 智能运维

Debian上高效使用GitLab的实用技巧

一 安装与初始化

  • 使用最新稳定版 Debian,先更新系统并安装依赖:sudo apt update && sudo apt install -y curl openssh-server ca-certificates tzdata postfix
  • 添加官方仓库并安装:
    • 仓库:curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    • 安装:sudo EXTERNAL_URL=“http://your_domain_or_ip” apt-get install gitlab-ce
  • 首次配置与启动:编辑 /etc/gitlab/gitlab.rb 设置 external_url,执行 sudo gitlab-ctl reconfigure;如需重启用 sudo gitlab-ctl restart
  • 防火墙放行:如使用 ufw,执行 sudo ufw allow 80,443/tcp && sudo ufw reload
  • 获取初始管理员密码:sudo cat /etc/gitlab/initial_root_password(文件默认 24 小时后自动清除,请及时保存)。

二 安全与邮件配置

  • 强制 HTTPS:在 /etc/gitlab/gitlab.rb 中启用 Let’s Encrypt
    • letsencrypt[‘enable’] = true
    • letsencrypt[‘auto_renew’] = true
    • letsencrypt[‘contact_emails’] = [‘admin@example.com’]
      修改后执行 sudo gitlab-ctl reconfigure
  • 自定义或已有证书:在 gitlab.rb 中配置 nginx[‘ssl_certificate’]nginx[‘ssl_certificate_key’],再执行 reconfigure
  • 邮件通知(SMTP):在 gitlab.rb 中启用并填写你的 SMTP 参数(示例为端口 587 + STARTTLS):
    • gitlab_rails[‘gitlab_email_enabled’] = true
    • gitlab_rails[‘gitlab_email_from’] = ‘gitlab@example.com’
    • gitlab_rails[‘smtp_enable’] = true
    • gitlab_rails[‘smtp_address’] = “smtp.example.com”
    • gitlab_rails[‘smtp_port’] = 587
    • gitlab_rails[‘smtp_user_name’] = “gitlab@example.com”
    • gitlab_rails[‘smtp_password’] = “your_password”
    • gitlab_rails[‘smtp_domain’] = “example.com”
    • gitlab_rails[‘smtp_authentication’] = “login”
    • gitlab_rails[‘smtp_enable_starttls_auto’] = true
    • gitlab_rails[‘smtp_tls’] = true
      修改后执行 sudo gitlab-ctl reconfigure

三 性能与存储优化

  • 适度精简工作进程(适合低配或小规模实例):在 /etc/gitlab/gitlab.rb 中调小 PumaPostgreSQL 参数,例如:
    • puma[‘worker_processes’] = 1
    • puma[‘per_worker_max_memory_mb’] = 512(按内存酌情设置)
    • postgresql[‘shared_buffers’] = “128MB”
    • postgresql[‘max_worker_processes’] = 2
      调整后执行 gitlab-ctl reconfigure
  • 调整 Rails 数据库连接池:如 gitlab_rails[‘db_pool’] = 20(依据并发与内存调整)。
  • 使用 SSD、合理设置 vm.swappiness,并启用 Redis 缓存以减轻后端压力。
  • 大仓库与高可用:考虑 Gitaly 集群 提升 Git 存储与访问的稳定性与性能。
  • 资源基线:至少 2GB 内存 可运行,推荐 4GB+;大规模部署建议 16GB+ 内存 与 SSD。

四 备份恢复与迁移

  • 备份:执行 sudo gitlab-rake gitlab:backup:create,备份默认位于 /var/opt/gitlab/backups
  • 迁移要点:
    • 在新服务器安装同版本 GitLab;
    • 将备份 .tar 文件复制到新服务器的 /var/opt/gitlab/backups
    • 同步 /etc/gitlab/ 下的关键配置(如 gitlab.rb/gitlab-secrets.json);
    • 在新服务器执行恢复(备份文件名不含时间戳后缀):
      • sudo gitlab-rake gitlab:backup:restore BACKUP=1695041661_2023_09_18_15.1.3
    • 重启服务:sudo gitlab-ctl restart
  • 注意:跨大版本恢复可能不兼容,尽量保持 GitLab 版本一致 再迁移。

五 日常运维与CI/CD

  • 服务管理:
    • 查看状态:gitlab-ctl status
    • 热更新配置:gitlab-ctl reconfigure
    • 重启/停止:gitlab-ctl restart/stop
  • 日志与监控:
    • 日志目录:/var/log/gitlab
    • 内置 Prometheus + Grafana 可用于监控资源与性能(按需启用与告警)。
  • CI/CD:
    • 安装并注册 GitLab Runner,在项目根目录添加 .gitlab-ci.yml 定义流水线;
    • 数据库变更纳入发布流程,配合工具(如 Bytebase)进行 SQL 审核与发布
  • 升级与维护:
    • 定期升级到最新稳定版以获取 安全补丁性能优化
    • 建立自动备份策略并定期演练恢复流程。

0