【问题标题】:Jenkins remote build with Parameterized Trigger Plugin failed使用参数化触发器插件的 Jenkins 远程构建失败
【发布时间】:2016-09-27 14:58:55
【问题描述】:

我正在使用 Jenkins 和 Parameterized Trigger Plugin 来远程触发作业。构建触发器失败,控制台输出如下

Server returned HTTP response code: 403 for URL: http://x.x.x.x:8080/job/jobname/buildWithParameters?token=buildcommand&build&delay=0
Connection to remote server failed, waiting for to retry - 10 seconds until next attempt.
Retry attempt #1 out of 5
Server returned HTTP response code: 403 for URL: http://x.x.x.x:8080/job/jobname/buildWithParameters?token=buildcommand&build&delay=0
Connection to remote server failed, waiting for to retry - 10 seconds until next attempt.
ERROR: Remote build failed for the following reason:

来自浏览器的带有 URL 'http://x.x.x.x:8080/job/jobname/build?token=buildcommand&build&delay=0' 的构建能够远程触发构建。

我只看到两个 URL 之间的区别是一个使用 'build' 而另一个使用 'buildWithParameters'。

你能帮我解决同样的问题吗?

【问题讨论】:

  • 发现同样的问题。还发现您必须使用 POST 方法来触发构建。同时点击上面的控制台链接。

标签: jenkins build jenkins-plugins


【解决方案1】:

我的远程 jenkins 使用主构建传入的凭据时遇到了同样的问题。 为了解决这个问题,我不得不在 target Jenkins 上禁用 CSRF 保护:

  1. 登录您的目标 Jenkins 并转到管理 Jenkins
  2. 转到配置全局安全
  3. 向下滚动以防止跨站点请求伪造攻击
  4. 取消选中它
  5. 保存更改

无需重新启动 Jenkins,只需再次尝试主作业即可。

警告:显然,您的 Jenkins 服务器没有 CSRF 保护……但无论如何它可能安全地位于公司防火墙后面,对吧?

【讨论】:

  • Kohsuke Kawaguchi 谈到 CSRF:“由于这种攻击的工作方式,即使是在企业防火墙内运行的 Jenkins 也容易受到攻击。”
  • 我尝试了上述步骤仍然触发远程作业。远程服务器上禁用 CSRF 保护。错误:远程构建失败并出现“ExceedRetryLimitException”,原因如下:“已执行最大连接重试次数。”。错误:ExceedRetryLimitException:已超过最大连接重试次数。完成:失败
  • 从 Jenkins 2.22x 开始,您不能再禁用 CSRF。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 2017-12-31
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
  • 2013-12-20
  • 2014-06-07
相关资源
最近更新 更多