Jenkins插件安装失败求助:证书路径异常及命令行安装无效
解决Jenkins插件安装证书路径异常问题
问题原因
出现sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target异常,核心原因是Jenkins运行依赖的JVM未信任插件更新仓库的SSL证书,导致无法建立安全连接,网页端和CLI端安装都会受影响。
解决方案
1. 导入仓库证书到JVM信任库(推荐生产环境)
- 获取插件仓库的SSL证书,以默认的updates.jenkins.io为例,执行命令:
openssl s_client -connect updates.jenkins.io:443 </dev/null | openssl x509 -outform PEM > jenkins-update-ca.pem - 定位Jenkins使用的JDK的信任库路径,通常为:
$JAVA_HOME/jre/lib/security/cacerts # Oracle JDK $JAVA_HOME/lib/security/cacerts # OpenJDK - 使用keytool将证书导入信任库,默认密码为
changeit:keytool -import -trustcacerts -alias jenkins-update -file jenkins-update-ca.pem -keystore <替换为实际cacerts路径> - 导入过程中输入
yes确认信任该证书,最后重启Jenkins服务。
2. CLI安装时临时指定信任库
如果仅需临时解决CLI安装问题,可在命令中直接指定JVM信任库参数:
java -Djavax.net.ssl.trustStore=<cacerts路径> -Djavax.net.ssl.trustStorePassword=changeit -jar jenkins-cli.jar -auth ${USER}:${PASSWORD} -s ${JENKINSURL} install-plugin ${PLUGIN_NAME}
3. 切换HTTP更新源(不推荐生产环境)
若环境允许使用HTTP协议,可修改Jenkins插件更新源:
- 进入Jenkins管理界面 → 系统管理 → 插件管理 → 高级
- 在「更新站点」中,将默认URL替换为HTTP镜像(如国内镜像
http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json) - 提交配置后重新尝试安装插件
4. 临时禁用SSL验证(仅测试环境)
在Jenkins启动参数中添加以下参数,重启后可跳过SSL证书验证:
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true
注意:此方法会降低安全性,仅用于临时测试。
内容的提问来源于stack exchange,提问作者Nithish
相关产品推荐
相关产品推荐

