You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jenkins CLI安装插件遭遇UnknownHostException错误求助

解决Jenkins CLI安装插件时出现UnknownHostException的问题

问题分析

从错误栈java.net.UnknownHostException: updates.jenkins.io可以看出,执行CLI命令时,Jenkins服务器进程无法解析插件源的域名。而通过UI能正常安装插件,说明Jenkins的插件源配置本身有效,问题出在CLI命令执行时的网络/域名解析环节。

解决方案

1. 检查Jenkins服务器的DNS解析能力

登录Jenkins所在服务器,执行以下命令验证域名解析:

ping updates.jenkins.io
ping get.jenkins.io

如果返回"未知主机",说明服务器DNS配置异常,需修改DNS设置:

  • Linux系统:编辑/etc/resolv.conf,添加有效DNS服务器(如nameserver 8.8.8.8或nameserver 114.114.114.114)
  • Windows系统:在网络适配器设置中修改DNS服务器地址

2. 确认Jenkins全局代理配置(若使用代理)

如果Jenkins通过代理访问外部网络,需确保CLI命令使用Jenkins的全局代理:

  1. 进入Jenkins UI → Manage Jenkins → Manage Plugins → Advanced
  2. 检查HTTP Proxy配置是否正确,且勾选"Use proxy for downloads"
  3. 重新执行CLI安装命令,此时Jenkins服务器会使用配置的代理访问插件源

3. 改用本地下载后上传的方式安装

若服务器网络限制无法直接访问插件源,可先在联网机器上下载插件文件,再通过CLI上传安装:

  1. 下载插件HPI文件:
wget https://updates.jenkins.io/download/plugins/htmlpublisher/1.31/htmlpublisher.hpi
  1. 使用CLI上传本地文件安装:
java -jar jenkins-cli.jar -s http://localhost:8080 -auth @cred install-plugin ./htmlpublisher.hpi

4. 验证Jenkins进程的网络权限

部分服务器的防火墙、SELinux或AppArmor可能限制Jenkins进程的网络访问,可通过以下命令验证:

  • Linux系统:切换到Jenkins用户身份,执行curl测试网络:
su - jenkins -c "curl -I https://updates.jenkins.io"

若返回HTTP 200或302状态码,说明网络权限正常;否则需调整防火墙/安全策略,允许Jenkins进程访问外部HTTPS端口(443)


内容的提问来源于stack exchange,提问作者Tri Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 21:08:22