GitLab 将公有项目改为私有项目失败解决方法

问题现象 在 GitLab 中将一个**公有(Public)项目改为私有(Private)**时,点击保存后失败,页面无明确错误提示。 查找日志 方法一:查看 production.log # 查看 GitLab Rails 生产日志 tail -f /var/log/gitlab/gitlab-rails/production.log 在执行"改为私有"操作的同时观察日志,会发现关键报错: OpenSSL::Cipher::CipherError () 方法二:使用 gitlab-ctl tail(官方推荐) gitlab-ctl tail gitlab-rails 原因 GitLab 在修改项目可见性时,会尝试对某些敏感字段(如 runner token)进行加密/解密操作。如果加密密钥或 token 数据异常,就会抛出 OpenSSL::Cipher::CipherError。 解决方法 进入 GitLab 数据库控制台 gitlab-rails dbconsole 清空 runner token 相关字段 -- 清空项目的 runner token UPDATE projects SET runners_token = null, runners_token_encrypted = null; -- 清空命名空间的 runner token UPDATE namespaces SET runners_token = null, runners_token_encrypted = null; -- 清空应用设置的注册 token UPDATE application_settings SET runners_registration_token_encrypted = null; -- 清空 CI runner 的 token UPDATE ci_runners SET token = null, token_encrypted = null; 执行后输出示例: ...

2026年6月15日 · 1 分钟 · 196 字 · AIHugoBlog