【问题标题】:How to deploy to archiva using Jenkins and maven如何使用 Jenkins 和 maven 部署到档案
【发布时间】:2014-03-27 14:39:33
【问题描述】:
我正在尝试使用 Jenkins 和 maven 部署到我的档案库。我正在使用“构建后操作”选项:“将工件部署到 maven 存储库”并且我添加了配置插件,在其中添加了 settings.xml 并定义了服务器详细信息(id、用户名、密码)。我还将这个文件添加到“构建环境”设置中,我将文件作为配置文件提供。
我遇到的问题是错误:未授权,原因:未授权。
用户名和密码适用于具有“存储库管理员”角色的用户,如档案文档所示。我也设置了 pom.xml,就像文档说明的那样。
我注意到第一个错误是:
错误:无法检索远程元数据 someGroupId:someArtifactId:someVersion-SNAPSHOT/maven-metadata.xml
我不明白错误来自哪里以及如何解决它。请帮忙。
【问题讨论】:
标签:
maven
deployment
jenkins
archiva
【解决方案1】:
一些建议:
1.) 确保所有服务器都列在 Maven settings.xml 中。有时这让我很感动。
2.) 确保您的快照存储库 ID 与 Archiva 中定义的存储库 ID 匹配。
3.) 确保您有权访问快照存储库,即使是管理员。可以撤销权限。
4.) 确保您拥有正确的密码。
5.) 我之前重启过 Archiva 解决了这个问题。
6.) 以下 settings.xml 配置将允许您将快照部署到作为存储库组一部分的自定义快照存储库(即 - 特定团队的快照存储库):
<mirror>
<id><repo_group_id></id>
<mirrorOf>*, !<team_snapshot_repo_id></mirrorOf>
<name>My Team's Maven Repository</name>
<url>http://<HOST>:<PORT>/archiva/repository/<repo_group_id>/</url>
</mirror>
7.) 如果我想将工件部署到我的快照 Maven 存储库,这是我添加到 pom.xml 的内容:
<distributionManagement>
<repository>
<id>internal</id>
<url>http://HOST:PORT/archiva/repository/internal/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Archiva Managed Snapshot Repository</name>
<url>http://HOST:PORT/archiva/repository/snapshots/</url>
<layout>default</layout>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>snapshots</id>
<url>http://HOST:PORT/archiva/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>