You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gitlab从16.7.5升级到16.8.2后无法保存管理员设置

Gitlab 16.8.2 修改管理员设置报错(execution expired)的解决办法

问题场景

升级Gitlab从16.7.5到16.8.2后,管理员(包括root用户)修改应用设置时触发报错:

  • Help page documentation base url is blocked: execution expired
  • Diagramsnet url is blocked: execution expired
  • Public runner releases url is blocked: execution expired

解决方案

1. 验证服务器网络连通性

Gitlab需要验证官方URL的可达性,先在Gitlab服务器终端执行以下命令测试:

# 测试帮助文档URL
curl -v https://docs.gitlab.com/
# 测试Diagramsnet URL
curl -v https://app.diagrams.net/
# 测试Runner发布URL
curl -v https://gitlab-runner-downloads.s3.amazonaws.com/

若出现超时,需:

  • 检查服务器防火墙/安全组是否放行443端口的出站HTTPS流量
  • 确认服务器代理配置是否正确,若使用代理需在/etc/gitlab/gitlab.rb中添加:
    gitlab_rails['http_proxy'] = 'http://your-proxy-ip:port'
    gitlab_rails['https_proxy'] = 'http://your-proxy-ip:port'
    
    之后执行sudo gitlab-ctl reconfigure生效。

2. 延长URL验证超时时间

Gitlab默认超时时间可能过短,可调整配置:

  1. 编辑/etc/gitlab/gitlab.rb,添加:
    gitlab_rails['url_validation_timeout'] = 10 # 单位:秒,可按需调整
    
  2. 重新配置并重启服务:
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
    

3. 临时禁用URL验证(应急用)

若需紧急修改设置,可暂时关闭验证(修改完成后建议重新启用):

  1. 编辑/etc/gitlab/gitlab.rb,添加:
    gitlab_rails['url_validation_enabled'] = false
    
  2. 执行sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart生效。

4. 检查升级后的配置完整性

升级可能导致配置异常,执行以下操作修复:

# 重新生成所有配置
sudo gitlab-ctl reconfigure
# 查看详细错误日志,定位具体问题
tail -f /var/log/gitlab/gitlab-rails/production.log

5. 回退到旧版本(终极方案)

若为版本自身bug,可暂时回退到16.7.5:

# 停止服务
sudo gitlab-ctl stop
# Debian/Ubuntu环境安装旧版本
sudo apt-get install gitlab-ee=16.7.5-ee.0
# CentOS/RHEL环境安装旧版本
sudo yum install gitlab-ee-16.7.5-ee.0.el7.x86_64
# 重新配置启动
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start

内容的提问来源于stack exchange,提问作者Pravin Kunte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 23:30:07