一、背景
去年做GitLab数据迁移时,写过一篇文章《GitLab的备份与还原》。后来发现新创建的项目没问题,但对于迁移过来的项目,修改名称等信息,或者删除该项目时,会出现500错误,以为是系统问题,一直也查到解决办法。
二、原因
前段时间再次搜索解决办法,终于解决了,在这里记录一下。
导致这样的原因,了解到是db_key_base
参数出现了问题。db_key_base
是一个64位随机字符串,它用于为应用程序生成安全的密钥。原先的密钥没复制过来,导致修改原项目时验证无法通过。
三、解决办法
原先的GitLab早就删除干净了,原先的db_key_base自然也找不回来,只好重置所有的密钥和token。
1、进入数据库控制台
命令行输入:
gitlab-rails dbconsole
需要注意的是,在使用gitlab-rails dbconsole时,请务必非常小心。因为您将直接操作GitLab使用的数据库,所以错误的SQL语句有可能导致数据丢失或损坏。
2、重置SQL数据库中的Token
gitlab-psql -d gitlabhq_production
然后依次输入一下命令 :
# 将所有项目的runners_token和runners_token_encrypted字段设置为null。
UPDATE projects SET runners_token = null, runners_token_encrypted = null;
# 将所有命名空间(例如用户或组)的runners_token和runners_token_encrypted字段设置为null。
UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;
# 将GitLab应用程序设置中的runners_registration_token_encrypted字段设置为null。
UPDATE application_settings SET runners_registration_token_encrypted = null;
然后输入\q
或者exit
退出。
3、重启GitLab
gitlab-ctl restart
至此整个Gitlab已经恢复正常,原先的项目可以改名,也可以删除了。
参考文章:文章来源:https://www.toymoban.com/news/detail-732026.html
Gitlab数据迁移&在线升级后出现CI/CD页面500错误问题 | Luck_zy文章来源地址https://www.toymoban.com/news/detail-732026.html
到了这里,关于GitLab数据迁移后出现500错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!