网站建设流程体会,招远网站设计,企业精神标语,h5网站价格方案一、背景 去年做GitLab数据迁移时#xff0c;写过一篇文章《GitLab的备份与还原》。后来发现新创建的项目没问题#xff0c;但对于迁移过来的项目#xff0c;修改名称等信息#xff0c;或者删除该项目时#xff0c;会出现500错误#xff0c;以为是系统问题#…一、背景 去年做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已经恢复正常原先的项目可以改名也可以删除了。 参考文章
Gitlab数据迁移在线升级后出现CI/CD页面500错误问题 | Luck_zy