Jenkins插件管理器仅能成功下载首个插件,其余均下载失败
Jenkins插件更新仅首个成功其余失败问题解决
环境信息
- Jenkins版本:2.346.2
- Java运行时版本:11+28
- 插件管理器更新站点URL:
https://updates.jenkins.io/update-center.json
问题描述
近几周Windows系统上的Jenkins执行插件更新时,仅能成功下载首个插件,其余均下载失败。重启Jenkins后重试,之前失败的插件能正常下载,但剩余插件依然失败,循环往复。
比如重启后JWT for Blue Ocean插件可正常下载,但其余插件还是下载失败。

报错信息
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297) at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
解决方法
1. 导入Jenkins更新站点证书到Java证书库
报错核心是Java无法验证更新站点的SSL证书,按以下步骤操作:
- 用浏览器打开
https://updates.jenkins.io,导出站点的SSL证书(选DER编码的二进制X.509格式,后缀.cer)。 - 找到Jenkins所用JRE的
cacerts文件,一般在JRE安装目录/lib/security/cacerts。 - 打开命令提示符,执行证书导入命令:
keytool -import -alias jenkins-updates -file 你的证书文件路径.cer -keystore "JRE/lib/security/cacerts"
密钥库默认密码是changeit,按提示确认导入即可。
2. 检查并修正Jenkins代理配置
如果服务器走代理访问外网,确认代理设置正确:
- 进入Jenkins「系统管理」→「系统设置」,找到「代理服务器」板块,核对代理地址、端口、凭据(若需)是否正确,同时勾选「通过代理连接更新中心」。
- 点击「测试连接」验证代理是否能正常访问外网。
3. 清理Jenkins插件缓存
缓存损坏可能引发下载异常:
- 停止Jenkins服务。
- 找到Jenkins安装目录下的
plugins文件夹,删除所有.hpi.tmp临时文件。 - 重启Jenkins后再尝试插件更新。
4. 临时切换更新站点为HTTP(仅应急用)
注意:HTTP传输无加密,仅作测试用,不建议长期使用:
- 进入Jenkins「系统管理」→「插件管理」→「高级」,将更新站点URL改为
http://updates.jenkins.io/update-center.json,保存后重试更新。
内容的提问来源于stack exchange,提问作者JosephS
相关产品推荐
相关产品推荐

