GitLab - 升级gitlab 版本后项目的webhook等页面显示500问题

请注意:GitLab升级请严格按照官方文档版本升级过程进行升级,升级前请备份好数据。
官方地址:https://docs.gitlab.com/ee/update/index.html#upgrade-paths,
若并非按官方文档升级会出现以下问题,

gitlab 13.3.1升级到14.0.0版本后部分部署过webhook项目的webhook页面显示500,其他没有部署过webhook的项目是正常可以打开的

原因是因为旧的 webhook 与新的 webhook 存在兼容性问题

==> /var/log/gitlab/gitlab-rails/production.log <== ActionView::Template::Error (): 1: %li 2: .row 3: .col-md-8.col-lg-7 4: %strong.light-header= hook.url 5: %div 6: - hook.class.triggers.each_value do |trigger| 7: - if hook.public_send(trigger) app/views/shared/web_hooks/_hook.html.haml:4 app/views/shared/web_hooks/_index.html.haml:11 app/views/shared/web_hooks/_index.html.haml:10 app/views/projects/hooks/index.html.haml:14 app/controllers/application_controller.rb:128:in `render' app/controllers/application_controller.rb:487:in `set_current_admin' lib/gitlab/session.rb:11:in `with_session' app/controllers/application_controller.rb:478:in `set_session_storage' lib/gitlab/i18n.rb:99:in `with_locale' lib/gitlab/i18n.rb:105:in `with_user_locale' app/controllers/application_controller.rb:472:in `set_locale' app/controllers/application_controller.rb:466:in `set_current_context' lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call' lib/gitlab/middleware/rails_queue_duration.rb:33:in `call' lib/gitlab/metrics/rack_middleware.rb:16:in `block in call' lib/gitlab/metrics/web_transaction.rb:21:in `run' lib/gitlab/metrics/rack_middleware.rb:16:in `call' lib/gitlab/middleware/speedscope.rb:13:in `call' lib/gitlab/request_profiler/middleware.rb:17:in `call' lib/gitlab/jira/middleware.rb:19:in `call' lib/gitlab/middleware/go.rb:20:in `call' lib/gitlab/etag_caching/middleware.rb:21:in `call' lib/gitlab/middleware/multipart.rb:172:in `call' lib/gitlab/middleware/read_only/controller.rb:50:in `call' lib/gitlab/middleware/read_only.rb:18:in `call' lib/gitlab/middleware/same_site_cookies.rb:27:in `call' lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call' lib/gitlab/middleware/basic_health_check.rb:25:in `call' lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call' lib/gitlab/middleware/request_context.rb:21:in `call' config/initializers/fix_local_cache_middleware.rb:11:in `call' lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call' lib/gitlab/metrics/requests_rack_middleware.rb:74:in `call' lib/gitlab/middleware/release_env.rb:12:in `call'

解决办法

由于我webhook里的数据可以重新配置,这里只需恢复webhook页面为正常即可 ,如果需要原数据的话请提前备份原目录下/etc/gitlab/gitlab-secrets.json文件

进入gitlab数据库

root@984db48e6398:/# gitlab-rails db psql (12.6) Type "help" for help.

查看一下webhook500的项目ID

查询 Webhook 记录

gitlabhq_production=> SELECT * FROM web_hooks WHERE project_id = 65;

删除指定项目的 Webhook(谨慎操作)

DELETE FROM web_hooks WHERE project_id = 65;

DELETE FROM integrations WHERE project_id = 65;

退出数据库并重启 GitLab

\q # 退出 psql sudo gitlab-ctl restart

然后刷新webhook页面即可恢复正常````


__EOF__

本文作者shook
本文链接https://www.cnblogs.com/shook/p/15904624.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   shookm  阅读(1513)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示