在 Linux 下,GitLab 的配置文件位置取决于你是使用哪种方式安装的。下面是最常见的几种情况说明:
如果你是通过 GitLab 官方 Omnibus 包 安装的(如 gitlab-ce / gitlab-ee),配置文件在:
/etc/gitlab/gitlab.rb
sudo vim /etc/gitlab/gitlab.rb
sudo gitlab-ctl reconfigure
sudo gitlab-ctl show-config
在容器内仍然是:
/etc/gitlab/gitlab.rb
通常是通过 volume 映射:
docker run -d \
--name gitlab \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
那么你应该在宿主机修改:
/srv/gitlab/config/gitlab.rb
然后进入容器执行:
docker exec -it gitlab gitlab-ctl reconfigure
如果你是从源码安装的 GitLab,配置文件一般在:
/home/git/gitlab/config/gitlab.yml
以及:
/home/git/gitlab-shell/config.yml
⚠️ 源码安装现在官方已不推荐。
external_url 'http://gitlab.example.com'
external_url 'http://192.168.1.10:8080'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@qq.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
| 作用 | 路径 |
|---|---|
| 主配置文件 | /etc/gitlab/gitlab.rb |
| 实际生效配置 | /var/opt/gitlab/ |
| 日志目录 | /var/log/gitlab/ |
| 服务管理 | gitlab-ctl |
gitlab-ctl status
如果能正常显示服务状态,99% 是 Omnibus 安装。
如果你可以告诉我:
我可以直接给你一份完整可用配置示例。