Docker中部署的GitLab报OpenSSL::Cipher::CipherError的处理

一台服务器上运行的GitLab实例运行于Docker中,近日发现在管理面板中修改默认语言、默认分支名字等部分数据,以及检查GitLab Runner情况时报500错误。检查production.log发现以下两个报错:

OpenSSL::Cipher::CipherError
ActionView::Template::Error

推测与GitLab升级后部分密钥和令牌受损有关,故使用SSL连接到服务器,并使用下面的指令登入Docker容器内部:

docker exec -it CONTAINER_ID /bin/bash

其中CONTAINER_ID为Docker容器的Container ID,格式形如“ded406ab4174”,可以使用docker ps命令获取。

随后,进入GitLab Rails控制台:

gitlab-rails c

该命令执行可能需要数分钟,最后会出现控制台提示符。依次执行:

settings = ApplicationSetting.last
settings.update_column(:runners_registration_token_encrypted, nil)
settings.update_column(:encrypted_ci_jwt_signing_key, nil)
settings.save!

命令执行后,恢复正常。连续使用exit命令退出。

参考资料:https://blog.csdn.net/ZH_CS/article/details/124709638

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License