无法将工件上传到 Nexus 存储库 - S4SDK 管道

Unable to upload artifact to Nexus Repository - S4SDK Pipeline

我正在尝试使用 Jenkins 管道中的工件部署阶段将工件上传到 Nexus 存储库。为此,我为 Jenkins 提供了 Nexus 凭证和查找存储库的路径。但是,此阶段因错误 "the connection is refused to nexus".

而失败

但是,我可以在 http://localhost:8081/nexus 上访问 Nexus。

下面是 pipeline_config.yml 文件中使用的代码。

artifactDeployment:
    nexus:
      version: nexus2
      url: 'http://localhost:8081/nexus/'
      repository: myrepo
      credentialsId: 'nexus'
      additionalClassifiers:
        - type: jar
          classifier: classes

有人可以建议解决这个问题吗?

这看起来很像 localhost URL 的问题。在 Jenkins 容器中,localhost 指的是该容器,而不是您本地的 Nexus。

解决方案应该是在管道配置中使用 Nexus 的主机名。在这种情况下,这似乎是您笔记本电脑的主机名。

希望对您有所帮助。

此致, 弗洛里安

在您的虚拟机上,登录到您的 Jenkins 容器

docker exec -it s4sdk-jenkins-master bash

然后执行curl 命令从那里到达nexus。

curl http://<your VM's IP>:8081/nexus

您将能够将工件上传到 nexus,仅当主机可从 Jenkins 容器内访问时。

如果您有 Jenkins 和 Nexus 容器,那么:

  1. 将localhost:8081改为地址ip主机,例如192.168.0.3:8081

我解决了本地环境中的问题。

希望能帮到你!