升级Jenkins至2.321后swarm-client 3.9无法连接控制器问题求解
Jenkins swarm客户端启动返回404问题解决方案
问题根因
该问题是Swarm插件与swarm-client版本不兼容导致:Swarm插件自3.0版本开始调整了slaveInfo接口的请求路径,3.9版本的旧swarm-client仍会请求旧路径/plugin/swarm/slaveInfo,因此返回404状态码。
解决方案
可选择以下任意一种方案解决:
- 方案1:升级swarm-client版本(推荐)
将agent节点的swarm-client升级到和服务端Swarm插件匹配的版本,也就是3.28及以上版本。替换原有的swarm-client.jar后,原启动命令无需调整即可正常运行。
注意:高版本swarm-client可能要求JDK11及以上运行环境,如果agent节点仍使用JDK8,可选择支持JDK8的3.x系列兼容版本。 - 方案2:降级服务端Swarm插件
如果暂时无法升级swarm-client,可将Jenkins服务端的Swarm插件降级到2.x的最终稳定版(如2.4版本),该版本仍保留旧版slaveInfo接口,可兼容3.9版本的swarm-client。
验证方式
调整完成后,先通过curl命令测试接口可用性:curl http://jenkinshost/jenkins/plugin/swarm/slaveInfo
能正常返回200状态码后,再启动swarm-client验证节点注册结果即可。
内容的提问来源于stack exchange,提问作者JukkaU
相关产品推荐
相关产品推荐

