Ubuntu下GitLab自定义配置指南
GitLab的自定义配置主要通过修改其核心配置文件/etc/gitlab/gitlab.rb实现,该文件包含了GitLab运行所需的各种参数(如外部访问URL、邮件服务、存储路径、端口设置等)。修改完成后,需运行sudo gitlab-ctl reconfigure命令使配置生效,并通过sudo gitlab-ctl restart重启服务。以下是常见的自定义配置场景及操作步骤:
1. 基础配置:修改外部访问URL
外部URL是GitLab的访问入口,决定了用户通过何种地址访问实例。修改external_url参数即可更改访问地址(支持HTTP/HTTPS、域名或IP):
sudo vim /etc/gitlab/gitlab.rb
找到external_url行(通常位于文件顶部),修改为你的实际地址(例如使用域名https://gitlab.example.com或IPhttp://192.168.1.100):
external_url 'https://gitlab.example.com'
保存退出后,执行sudo gitlab-ctl reconfigure使配置生效。
2. 邮件服务配置:实现通知功能
GitLab的邮件通知(如密码重置、合并请求提醒)需要配置SMTP服务。在/etc/gitlab/gitlab.rb中添加或修改以下参数(以Gmail SMTP为例):
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@gmail.com"
gitlab_rails['smtp_password'] = "your-email-password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "your-email@gmail.com" # 发件人地址
gitlab_rails['gitlab_email_reply_to'] = "noreply@example.com" # 回复地址
注意:若使用Gmail,需开启“允许不够安全的应用”或生成应用专用密码(推荐)。配置完成后执行sudo gitlab-ctl reconfigure生效。
3. 存储路径自定义:修改仓库数据目录
默认情况下,GitLab的仓库数据存储在/var/opt/gitlab/git-data/repositories。若需更改存储位置,可通过git_data_dirs参数设置:
sudo vim /etc/gitlab/gitlab.rb
添加或修改以下内容(例如将仓库数据迁移到/mnt/git-data):
git_data_dirs({ "default" => { "path" => "/mnt/git-data" } })
注意:若/mnt/git-data目录不存在,需提前创建并授权(sudo mkdir -p /mnt/git-data && sudo chown -R git:git /mnt/git-data)。修改后需执行以下步骤使配置生效:
sudo gitlab-ctl stop
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
若目录中已有数据,需通过rsync命令迁移(sudo rsync -av /var/opt/gitlab/git-data/repositories /mnt/git-data/)。
4. 端口配置:修改Web/SSH端口
- 修改Web端口:若需更改GitLab Web界面的访问端口(如从80改为9090),可修改
nginx['listen_port']参数:nginx['listen_port'] = 9090 external_url 'http://your-server-ip:9090' # 同步修改external_url - 修改SSH端口:若需更改Git通过SSH访问的端口(如从22改为2222),可修改
gitlab_shell['ssh_port']参数:gitlab_shell['ssh_port'] = 2222
修改后执行sudo gitlab-ctl reconfigure生效,并确保防火墙开放新端口(sudo ufw allow 9090/tcp或sudo ufw allow 2222/tcp)。
5. 自动续订Let’s Encrypt证书:避免证书过期
GitLab默认使用Let’s Encrypt签发免费SSL证书,证书有效期为90天。可通过以下参数设置自动续订时间(例如每月1日凌晨2点30分续订):
letsencrypt['auto_renew_hour'] = "2"
letsencrypt['auto_renew_minute'] = "30"
letsencrypt['auto_renew_day_of_month'] = "1"
若需禁用自动续订,可设置letsencrypt['auto_renew'] = false。修改后执行sudo gitlab-ctl reconfigure生效。
6. 禁用非必要组件:节约系统资源
若不需要某些组件(如Prometheus监控、Grafana仪表盘、Alertmanager告警),可禁用它们以减少资源占用:
prometheus['enable'] = false
grafana['enable'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
修改后执行sudo gitlab-ctl reconfigure生效。
注意事项
- 备份配置:修改配置文件前,建议备份
/etc/gitlab/gitlab.rb(sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak)。 - 查看日志:若配置生效后出现问题,可通过
sudo gitlab-ctl tail查看实时日志定位问题。 - 版本兼容性:不同GitLab版本的配置参数可能略有差异,建议参考对应版本的官方文档(如GitLab 17.5的配置文档)。
以上就是关于“ubuntu gitlab如何自定义配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm