Maven-jenkins管道未使用pom

Maven-jenkins管道未使用pom,maven,jenkins,pom.xml,Maven,Jenkins,Pom.xml,我无法通过Jenkins运行maven部署。在本地运行时,会联系到正确的URL,但通过Jenkins(在管道中间)不会。它还声明它正在使用不同的插件来实现这一点。我如何让Jenkins像我的命令行那样联系我的URL (我已经清理了一下输出) 通过命令行运行以下命令可以: mvn干净部署-DaltDeploymentRepository=nexus::默认值::https://MY_URL/ -DskipTests-P nexus-X-s./settings.xml [ERROR]未能在项目MY_

我无法通过Jenkins运行maven部署。在本地运行时,会联系到正确的URL,但通过Jenkins(在管道中间)不会。它还声明它正在使用不同的插件来实现这一点。我如何让Jenkins像我的命令行那样联系我的URL

(我已经清理了一下输出)

通过命令行运行以下命令可以:

mvn干净部署-DaltDeploymentRepository=nexus::默认值::https://MY_URL/ -DskipTests-P nexus-X-s./settings.xml

[ERROR]未能在项目MY_上执行目标org.apache.maven.plugins:maven部署插件:2.8.2:deploy(默认部署):未能部署工件:无法将工件从nexus传输/传输到nexus(https://MY_URL):无法传输文件20200217.092316-15.jar,状态代码401->[帮助1]

这就是我想要的(我正在等待凭据-但它正在命中正确的URL)

通过Jenkins跑步给了我:
[ERROR]无法执行goal org.sonatype.plugins:nexus staging maven plugin:1.5.1:deploy(默认部署)on project:Deployment失败:未在分发管理元素内部的POM或-DaltDeploymentRepository=id::layout::url参数->[Help 1]中指定repository元素。

我对jenkins和本地使用的pom文件进行了“区分”,它们是相同的;同样,对于settings.xml,我怀疑这是一个插件问题,但不知道该如何处理它

我尝试过的项目:

  • 预先清洁
  • 重新安装mvn
  • 将settings.xml和pom.xml回显到jenkins输出中
  • 在settings.xml中指定altDeploymentRepository和/或 命令行
  • 使用-Dproperties=标志指定altDeploymentRepository
  • altDeploymentRepository、altDeploymentDirectory的组合 altSnapshotDeploymentRepository
  • 没完没了的研究
  • 希望重播
  • 头撞桌子

您的Jenkins运行
org.sonatype.plugins:nexus staging maven plugin:1.5.1:deploy
目标

它要么在POM中指定,要么在命令行中给出。因此,首先,检查nexus staging maven插件是在POM中配置的还是在父POM中配置的。如果是,请检查它是否有条件运行或是配置文件的一部分

其次,查看Jenkins中的命令行调用,看看它是否与您在本地运行的命令行调用完全相同

第三种可能性是从Sonatype运行Jenkins插件,该插件隐式地尝试部署工件。所以要注意特定类型的Jenkins插件


三种策略中的一种应该会导致问题的根源。

谢谢JF Meier。-这是在我的pom中,也是在詹金斯使用的pom中,它们是相同的。插件定义不在配置文件定义内。我还验证了两者之间的命令行调用。所以我只剩下第3个问题了,但我不确定我能做些什么。那么它的执行是否绑定到一个阶段?应该“自动”运行吗?还是应该从命令行运行?它绑定到部署阶段。(请容忍我,因为我不是mvn专家!)。我刚刚比较了两次运行的有效pom,唯一的区别是定义了不同的插件-maven deploy插件。mvn是否每次调用时都从internet加载插件?取决于您是否在POM中为插件定义了固定版本号。