You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab Webhook触发双活架构Jenkins服务的验证问题求助

双活Jenkins架构下GitLab Webhook触发失效问题

我有一套采用**双活(Active-Active)**架构的Jenkins服务,同一个URL https://test-jenkins.ocado.com 可路由至两台Jenkins服务器中的任意一台。需求是GitLab仓库发生变更时,通过Webhook触发关联的Jenkins流水线Transformer。

初始配置与问题

  1. 在Jenkins流水线Transformer的Configuration→General→Build Triggers中,勾选Build when a change is pushed to GitLab,对应的Webhook URL为 https://test-jenkins.ocado.com/project/Transformer,保留Push Events等默认选项,且必须在Advanced中生成Secret Token(留空无法正常工作)。
  2. 在GitLab仓库的Webhook设置里,填入上述URL和Jenkins生成的Secret Token。

但该配置仅适配单台Jenkins场景,双活架构下存在核心问题:

  • GitLab Webhook仅支持填写一个Secret Token,而两台Jenkins的Secret Token无法设置为相同值(必须由各自Jenkins生成),导致Webhook请求被路由到哪台Jenkins,只有那台能触发成功,另一台因Token不匹配无法生效。

尝试方案及报错

我尝试改用Jenkins的Trigger builds remotely (e.g., from scripts)选项替代GitLab专属触发项:

  • 给两台Jenkins设置了相同的Authentication Token(例如"abc")。
  • 根据该选项提示的触发URL格式,在GitLab Webhook中填入 https://test-jenkins.ocado.com/job/Transformer/build?token=abc,并留空Secret Token字段。

但触发时返回403错误:

Hook executed successfully but returned HTTP 403 
Error 403 No valid crumb was included in the request

内容的提问来源于stack exchange,提问作者ooalgomaniac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:35:58