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

升级GitLab-EE 17至CentOS7后出现多类问题求助

GitLab-EE 17 升级后 CentOS7 环境问题解决指南

问题1:GitLab Runner 无法被选用

  • 确认 Runner 注册状态:执行 gitlab-runner list,查看是否已正确注册到当前 GitLab 17 实例
  • 检查版本兼容性:GitLab 17 要求 Runner 版本至少为 16.0+,版本过低则执行 yum update gitlab-runner 升级
  • 后台激活 Runner:进入 GitLab 管理后台「CI/CD → Runners」,确保 Runner 处于激活状态,禁用状态手动开启
  • 核对标签匹配:检查项目 CI 配置中的标签,是否和 Runner 配置的标签一致,标签不匹配会导致无法选用

问题2:健康检查显示 Unhealthy,存在待执行数据库迁移

  • 切换到 GitLab Rails 目录:cd /opt/gitlab/embedded/service/gitlab-rails/
  • 执行官方迁移命令:sudo gitlab-rake db:migrate RAILS_ENV=production(不要直接用 bin/rails,避免环境加载异常)
  • 迁移完成后重启服务:sudo gitlab-ctl restart
  • 刷新管理后台健康检查页面,确认迁移完成、状态恢复正常

问题3:gitlab-ctl check-config 提示配置 JSON 格式错误

  • 定位错误文件:执行 gitlab-ctl check-config 时会输出具体错误的配置文件路径,通常在 /var/opt/gitlab 目录下
  • 修复格式问题:编辑对应的 JSON/YAML 文件,修正引号不闭合、逗号缺失、缩进错误等格式问题
  • 验证修复结果:再次执行 gitlab-ctl check-config 确认错误消失,再运行 gitlab-ctl reconfigure

问题4:gitlab-ctl reconfigure 时 KAS 版本时间解析失败

该问题由 CentOS7 自带的 glibc 版本过低(2.17)导致,无法正确解析 +0000 格式的时区字符串,需转为标准 RFC3339 的 +00:00 格式:

  • 临时修复:找到 KAS 版本信息文件(通常为 /opt/gitlab/embedded/bin/gitlab-kas 或生成版本信息的配置文件),将时间字符串中的 +0000 替换为 +00:00
  • 永久修复:在 /etc/gitlab/gitlab.rb 中添加环境变量覆盖版本信息,示例配置:
    gitlab_kas['env'] = {'GITLAB_KAS_VERSION_OVERRIDE' => 'v17.0.0-ee (2024-05-15T09:09:49+00:00)'}
    
    保存配置后执行 gitlab-ctl reconfigure 即可生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 02:52:00