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

无法将构件上传至Nexus仓库 - S4SDK流水线问题求助

我来帮你一步步排查这个Jenkins到Nexus的连接拒绝问题,结合你的场景,可能的原因和解决方法如下:

1. 先确认Jenkins能不能真的连到Nexus

你本地能访问http://localhost:8081/nexus,但Jenkins的运行环境可能和你本地不一样:

  • 如果Jenkins是用Docker部署的,那容器里的localhost指的是容器本身,不是你的宿主机。这时候你得换成宿主机的实际IP(比如http://192.168.xx.xx:8081/nexus),或者把Jenkins和Nexus加入同一个Docker网络,用Nexus容器的名称作为地址(比如http://nexus-container-name:8081/nexus)。
  • 直接在Jenkins服务器上(或者进入Jenkins容器内部)执行curl http://<Nexus实际地址>:8081/nexus,看看能不能拿到正常的响应。如果curl都失败,那就是网络层面的问题。
2. 检查pipeline里的Nexus URL配置

仔细核对你的pipeline_config.yml里的Nexus地址:

  • 是不是写的localhost:8081?如果Jenkins不在宿主机,这个地址肯定访问不到。
  • 另外注意Nexus版本的路径差异:Nexus 3.x默认的基础路径已经没有/nexus了,直接是http://<地址>:8081/repository/<仓库名>,你可以登录Nexus后台,查看目标仓库的实际访问路径,替换到pipeline里。
3. 验证凭据和仓库权限

虽然报错是连接拒绝,但有时候权限问题也会伪装成网络错误:

  • 确认你在Jenkins里配置的凭据(用户名+密码),在Nexus里拥有目标仓库的部署权限(比如Nexus的nx-repository-view-*-*-add权限)。
  • 手动用curl测试凭据有效性:curl -u <你的用户名>:<你的密码> http://<Nexus地址>:8081/nexus/service/local/repositories/<你的仓库名>/content/,如果能返回JSON格式的仓库内容,说明凭据和权限没问题。
4. 排查防火墙或安全软件
  • 如果Jenkins和Nexus不在同一台机器,检查宿主机的防火墙(比如ufw、iptables)或者云安全组,确认8081端口是开放的。
  • 即使在同一台机器,有些杀毒软件或者安全插件可能会拦截Jenkins的出站请求,临时关闭测试下是否能解决问题。
5. 查看Nexus日志找线索

去Nexus安装目录下的sonatype-work/nexus/logs文件夹,打开nexus.log看看,有没有Jenkins尝试连接时的错误记录,这能帮你快速定位是网络拦截还是Nexus本身的配置问题。

如果可以的话,把pipeline_config.yml里涉及Nexus部署的代码片段贴出来,能更精准地帮你排查~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:05:42