我正试图从一个Jenkins (a)触发另一个Jenkins (B)的工作。我已经安装了2个插件:
- 参数化远程触发器
- 构建令牌根
我的问题是,我能够触发构建Jenkins (B)使用例如curl和令牌,这意味着构建令牌根插件按预期工作,但参数化远程触发似乎不尊重这一点。
我可能应该提到我已经尝试了不同的验证选项,信任所有证书等。
My Jenkins (A) config:
无论是否启用了构建令牌根支持,日志都是相同的。
我得到的日志:
我能够通过允许匿名用户整体读取和作业读取访问来实现这一点。这似乎是必要的,因为参数化远程触发器插件试图调用除了/build
和/buildWithParameters
之外的其他api,而这些调用是失败的。
这是有道理的,为了有默认的阻塞能力,你需要调用额外的api来轮询,但即使设置blockBuildUntilComplete : false
并没有解决这个问题。考虑到参数化远程触发插件清楚地说它"运行良好";在它的文档中有Build Token插件,让它们一起工作真的不是一件容易的事。
在我看来,结合使用这两种方法并不是一个理想的解决方案,因为允许未经身份验证的用户浏览的必要性詹金斯实例通过ui——我怀疑你可以(虽然我还没试过)得到一个API用户令牌只有整体阅读和工作读访问权,而不是给所有的匿名用户的权利,但这包括用户管理的开销和API的令牌,击败我们的主要动机使用在第一时间建立牌插件。