【问题标题】:Parameterized Remote Trigger plugin doesn't respect Build Token Root参数化远程触发器插件不尊重构建令牌根
【发布时间】:2022-12-06 03:42:18
【问题描述】:
我正在尝试从一个 Jenkins (A) 触发另一个 (B) 的工作。我已经安装了 2 个插件:
- 参数化远程触发器
- 构建令牌根
我的问题是,我能够仅使用例如 curl 和 token 在 Jenkins (B) 上触发构建,这意味着 Build Token Root 插件按预期工作,但 Parameterized Remote Trigger 似乎不尊重这一点。
我可能应该提到我已经尝试了不同的身份验证选项、信任所有证书等。
My Jenkins (A) config:
启用和不启用 Build Token Root 支持的日志是相同的。
Logs I'm getting:
【问题讨论】:
标签:
jenkins
jenkins-plugins
【解决方案1】:
我能够通过允许匿名用户整体阅读和工作阅读访问来实现这一点。这似乎是必要的,因为参数化远程触发器插件尝试调用除 /build 和 /buildWithParameters 之外的其他 API,而这些调用失败了。
合理的是,为了拥有默认的阻塞能力,您需要调用额外的 API 进行轮询,但即使设置 blockBuildUntilComplete : false 也没有解决问题。考虑到 Parameterized Remote Trigger 插件在其文档中明确表示它与 Build Token 插件“配合得很好”,让它们一起工作确实不是一件容易的事。
在我看来,将两者结合使用并不是一个理想的解决方案,因为需要允许未经身份验证的用户通过 ui 浏览您的 jenkins 实例 - 我怀疑您可以(尽管我还没有尝试过)获得一个 API 令牌用户只有总体读取和作业读取访问权限,而不是授予所有匿名用户权限,但这包括管理用户和 API 令牌的开销,这首先违背了我们使用构建令牌插件的主要动机。