温馨提示×

Linux GitLab配置中的关键参数有哪些

小樊
33
2025-11-30 19:06:59
栏目: 智能运维

Linux GitLab 配置关键参数清单

一 基础与网络

  • external_url:设置实例对外访问地址(含协议与端口),影响页面中仓库 Clone 地址显示与重定向。示例:external_url ‘https://gitlab.example.com’ 或带端口 ‘http://192.168.1.10:8080’。修改后需执行应用配置。
  • nginx 监听端口与协议:当 80/443 被占用或需非标准端口时,在 gitlab.rb 中调整 nginx[‘listen_port’]、nginx[‘listen_https’] 等,并同步设置 external_url 的端口。
  • SSH 访问与端口:通过 gitlab_rails[‘gitlab_ssh_host’] 与 GitLab 内置 Nginx 的 gitlab_rails[‘gitlab_shell_ssh_port’] 控制 SSH 主机名与展示端口(对仓库 Clone 地址的 ssh:// 显示生效)。实际 SSH 服务仍由系统 sshd 提供,注意系统防火墙与端口放行。

二 邮件与通知

  • 启用与发件人:
    • gitlab_rails[‘gitlab_email_enabled’] = true
    • gitlab_rails[‘gitlab_email_from’] = ‘gitlab@example.com’
  • SMTP 关键参数(示例为端口 587/STARTTLS):
    • 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’] = “授权码或密码”
    • gitlab_rails[‘smtp_domain’] = “example.com”
    • gitlab_rails[‘smtp_authentication’] = “login”
    • gitlab_rails[‘smtp_enable_starttls_auto’] = true
    • gitlab_rails[‘smtp_tls’] = false(按实际 SMTP 要求开启/关闭)
  • 提示:很多邮箱(如 QQ/163/126)需使用“客户端授权码”而非登录密码;配置完成后用控制台/工单测试邮件发送。

三 存储与备份

  • 仓库数据目录:默认 /var/opt/gitlab/git-data/repositories。多盘或 NFS 场景可用 git_data_dirs 指定多路径,示例:
    • git_data_dirs({ “default” => { “path” => “/var/opt/gitlab/git-data” }, “nfs” => { “path” => “/mnt/nfs-01/git-data” } })
      迁移旧数据时先停服务,使用 rsync 保持权限与层级一致,再 reconfigure/启动。
  • 备份目录与保留:默认备份路径 /var/opt/gitlab/backups,可通过 gitlab_rails[‘backup_path’] 调整;定期备份并验证恢复流程。
  • 密钥与敏感配置:/etc/gitlab/gitlab-secrets.json 存放加密密钥(如数据库、CI 等),变更需谨慎并备份。

四 性能与并发

  • Puma(Rails Web 工作进程):puma[‘worker_processes’] 建议从 2–4 起步,按 CPU 核数与内存调优,避免 OOM。
  • Sidekiq(后台任务):sidekiq[‘max_concurrency’] 控制并发作业数,I/O 密集可适当上调,内存紧张时下调。
  • PostgreSQL(内置数据库):postgresql[‘shared_buffers’] 建议设为内存的 约 1/4(如 4GB 内存可先试 1GB),postgresql[‘max_worker_processes’] 结合 CPU/负载调整。
  • 监控组件:prometheus_monitoring[‘enable’] 在生产可关闭以降低资源占用(需要时再开启)。

五 生效验证与运维命令

  • 使配置生效:每次修改 /etc/gitlab/gitlab.rb 后执行:
    • sudo gitlab-ctl reconfigure(渲染配置并创建/调整目录与权限)
    • sudo gitlab-ctl restart(必要时重启相关服务)
  • 常用运维:
    • gitlab-ctl status(查看组件运行状态)
    • gitlab-ctl tail(实时查看日志)
    • gitlab-ctl show-config(校验最终生效配置)
    • 首次安装后管理员密码:cat /etc/gitlab/initial_root_password(请及时修改并妥善保管)

0