有关gitlab14.x版本在内网环境下无法添加webhooks的解决方法
构建gitlab+jenkins自动化部署构建时碰到的一些问题,在到了设置webhooks时因为使用的都是内网环境,webhooks的安全策略把我的添加给阻挡了,查了一些资料和使用ai正确解决,写下记贴,为后面写ci/cd部署文档做准备
报错详情
而后在修改配置文件
vim /etc/gitlab/gitlab.rb
# GitLab 14.0.1 兼容写法
gitlab_rails['allow_local_requests_from_web_hooks_and_services'] = true
gitlab_rails['web_hooks_disable_ssl_verification'] = true
修改后重置gitlab和重启一下,发现还是无法添加
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
进入控制台查看详情,发现他并没有改为true,即便是重启和重置也不会成功
=> #<ApplicationSetting id: 1, default_projects_limit: 100000, signup_enabled: true, gravatar_enabled: true, sign_i...
irb(main):003:0>
irb(main):004:0> # 检查关键字段
=> nil
irb(main):005:0> app_settings.allow_local_requests_from_web_hooks_and_services?
=> false
而后选择手动在控制台重新配置看是否能变为true
# 获取当前应用设置
app_settings = Gitlab::CurrentSettings.current_application_settings# 手动启用允许本地请求(GitLab 14.0.1 的正确字段名)
app_settings.update!(allow_local_requests_from_web_hooks_and_services: true)# 验证是否更新成功
app_settings.allow_local_requests_from_web_hooks_and_services?
# 看是否为true
最后退出并重启,就可以添加了
sudo gitlab-ctl restart sidekiq
写这个是为后面写部署与使用文档做准备,不能保证用了这个就能成功部署好ci/cd,仅供参考,有用的话可以点点赞