🎯 关键

一部分gitlab的配置可以通过在web端通过登录root用户进行admin修改。部分需要修改服务器下关于gitlab的配置文件。

Gitlab主要配置文件

一、GitLab 最核心的配置文件(99% 的修改都在这)

1. /etc/gitlab/gitlab.rb(主配置文件,必记!)

# 1. 设置GitLab外部访问地址(最基础配置)
external_url 'https://gitlab.yourdomain.com'

# 2. 修改GitLab内置Nginx的端口(默认80/443)
nginx['listen_port'] = 8080
nginx['listen_https'] = false  # 若用HTTP访问

# 3. 设置数据存储路径(默认/var/opt/gitlab)
git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data" } })

# 4. 邮件配置(发送通知)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465

2. /var/opt/gitlab/gitlab-rails/etc/gitlab.yml(实际生效的应用配置)

二、GitLab 各组件的专属配置文件(由 gitlab.rb 生成)

GitLab 是「一站式包」,内置 Nginx/PostgreSQL/Redis 等组件,它们的配置文件由 gitlab.rb 生成,路径如下:

组件 配置文件路径 作用
内置 Nginx /var/opt/gitlab/nginx/conf/gitlab-http.conf GitLab 访问的 Nginx 配置
PostgreSQL /var/opt/gitlab/postgresql/data/postgresql.conf 数据库配置
Redis /var/opt/gitlab/redis/redis.conf 缓存服务配置
GitLab Shell /var/opt/gitlab/gitlab-shell/config.yml Git 命令行/SSH 配置
Sidekiq /var/opt/gitlab/gitlab-rails/etc/sidekiq.yml 异步任务队列配置

三、其他辅助配置文件

1. 日志相关

logging['log_level'] = 'info'  # 日志级别:debug/info/warn/error
logging['keep_rails_logs_for_days'] = 7  # 日志保留7天

2. 备份/权限配置

gitlab_rails['backup_path'] = "/data/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # 备份保留7天(秒)

四、修改配置后的生效步骤(核心!新手必看)

修改 /etc/gitlab/gitlab.rb 后,必须执行以下命令让配置生效:

# 1. 重新生成配置并应用(核心命令,覆盖所有组件配置)
sudo gitlab-ctl reconfigure

# 2. (可选)重启GitLab所有服务(确保配置生效)
sudo gitlab-ctl restart

# 3. 验证配置是否生效
sudo gitlab-ctl status  # 查看所有组件状态
sudo gitlab-rake gitlab:check SANITIZE=true  # 检查GitLab健康状态

总结

  1. 核心配置文件/etc/gitlab/gitlab.rb(唯一需要手动修改的文件);
  2. 生成的配置文件/var/opt/gitlab/ 下的各组件配置(不要手动改);
  3. 生效关键:修改 gitlab.rb 后执行 gitlab-ctl reconfigure,而非直接重启服务;
  4. 新手重点:先改 external_url 配置访问地址,再根据需求调整端口、存储路径、邮件等。