ssh - Jenkins+Nexus - 解析 POM 失败,未通过对等验证

标签 ssh jenkins nexus

不是重复的!我查看了类似标题的 SO 资源,但这个问题似乎与 Jenkins 和 ssh 有关,其他的没有涵盖这个问题。具体来说,这不是 Maven 问题,而是 Jenkins 问题。

当解析我的 POM 时,Jenkins 无法通过 ssh 连接到 nexus(它正在寻找它正在处理的 POM 的父 POM)。在这个过程中的这一点(接近开始),POM 并没有被 maven 本身读取——它被 Jenkins(或者它的一个插件)用来创建一个依赖树,这样项目就可以正确地构建命令。我收到的错误是peer not authenticated

这是输出的相关部分:

Parsing POMs
Failed to transfer Could not transfer metadata org.us.thing:thingy:2.0/maven-metadata.xml 
from/to nexus (https://nexus:2443/nexus/content/groups/public):
peer not authenticated

ERROR: Processing failed due to a bug in the code. Please report this to jenkinsci-users@googlegroups.com
java.lang.IllegalStateException: Failed to build parent project for org.us.thing:thingy:pom:2.0
    at org.apache.maven.project.MavenProject.getParent(MavenProject.java:381)
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1325)

我已经使用 javax.net.ssl.trustStore 配置了一个信任库,当 maven 正在运行构建时,这可以通过 Jenkins 正常工作。我还认为 Jenkins 正在以某种方式关注它,因为不使用信任库时出现的错误通常是不同的,但我不确定这是否属实。

我已经使用我的 Nexus URL 和凭据将工件解析器配置为 repo 管理器。我还使用我的凭据为 nexus 域设置了一个“Credentails”条目。

那么,如何进行呢?我的解决方案会很好,但我会接受更多面包屑。

最佳答案

问题也可能是 Maven Project Plugin 中的错误.此插件会在您的 Maven 作业运行之前尝试在构建步骤中解析 pom.xml。但是,该插件可能无法正确使用您配置的 settings.xml 或您的 Maven 目标和选项(在我的例子中,它忽略了 -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon .http.ssl.allowall=true).

解决方法是在 Jenkins 中为您的项目配置预构建步骤,例如 Pre-Step->Invoke top level Maven target->Goal: clean -Dmaven.wagon.http.ssl.insecure=true -Dmaven .wagon.http.ssl.allowall=true。此预构建步骤将下载必要的依赖项,以便 maven 项目插件可以在构建步骤中找到它们并成功解析 pom。

关于ssh - Jenkins+Nexus - 解析 POM 失败,未通过对等验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27966777/

相关文章:

java - 在 Jenkins 中设置 java 自定义位置

maven - 如何在 Jenkins 中使用 maven 从多个套件中运行特定的 TestNG 套件

java - nexus:无法从/到 nexus 传输 Artifact (http://localhost:8081/repository/maven-proxy-test/)

java - application.jar 中没有主要 list 属性

ssh - rsync 和权限被拒绝

python - 如何解决 - 与 192.168.X.X 的连接已关闭?

使用 ssh 从 AWS EC2 中的存储库进行 Git 克隆?

java - ssh注销后Spring boot App无法正常工作

docker - Jenkins 作业终止后清理孤立的 docker 容器

maven - Nexus 不缓存 Maven 中央插件