我的版本:
- Maven 3.0.4
- 詹金斯 1.499
- 连结 2.2
- maven-release-plugin 3.2
- JDK 1.6
- AIX 6.1
设置.xml
<server>
<id>snapshots</id>
<username>deploy</username>
<password>pass123</password>
</server>
<server>
<id>releases</id>
<username>deploy</username>
<password>pass123</password>
</server>
我在 Jenkins 中运行了很多构建,它们使用maven deploy
插件并将工件上传到 Nexus 存储库。由于同一用户能够部署快照,我们可以消除 Nexus 中的用户角色/权限问题。(我仍然给这个用户管理员角色进行测试)
公司母公司 POM
<distributionManagement>
<repository>
<id>releases</id>
<url>http://myserver/repositories/releases</url>
<layout>default</layout>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://myserver/repositories/snapshots</url>
<layout>default</layout>
</snapshotRepository>
</distributionManagement>
项目 POM
<scm>
<connection>scm:svn:http://svnserver/tags/1.2.3</connection>
<developerConnection>scm:svn:http://svnserver/tags/1.2.3</developerConnection>
</scm>
我已经确认/target/checkout/
Jenkins 工作区中包含最新的 POM。还添加<distributionManagement>
在项目 POM 中
现在,当我使用 mvn 从 Jenkins 中运行 maven 发布插件时,release:perform
我仍然得到这个:
Deployment failed: repository element was not specified in the POM inside
distributionManagement element or in -DaltDeploymentRepository=id::layout
::url parameter
release:prepare
显示没有错误- SVN 标签按预期创建
- 然后在部署期间,它失败并出现上述错误
- 就像我提到的,快照部署经常发生并且没有错误,因此 settings.xml、distributionManagement 和 Nexus 权限似乎都井然有序。
- 我可以
http://myserver/repositories/releases
手动访问 - 我已经检查过
mvn help:effective-pom
并且mvn help:effective-settings
事情似乎井井有条
有任何想法吗 ?