如何使用Jenkins和maven部署到archiva

时间:2014-03-27 14:39:33

标签: maven deployment jenkins archiva

我正在尝试使用Jenkins和maven部署到我的archiva repo。我正在使用“post-build actions”选项:“将工件部署到maven存储库”,我添加了配置插件,我在其中添加了settings.xml并定义了服务器详细信息(id,username,password)。我还将此文件添加到“构建环境”设置中,我将该文件作为配置文件提供。

我遇到的问题是错误:未经授权,推理:未经授权。

用户名和密码适用于具有角色“存储库管理器”的用户,如archiva doc指示的那样。我也设置了pom.xml,就像文档指示一样。

我注意到第一个错误是: 错误:无法检索远程元数据someGroupId:someArtifactId:someVersion-SNAPSHOT / maven-metadata.xml 我不明白错误来自何处以及如何解决它。请帮忙。

1 个答案:

答案 0 :(得分:0)

一些建议:

1.确保您的Maven settings.xml中列出了所有服务器。这有时让我感到高兴。

2.确保您的快照repo id与Archiva中定义的repo 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 repo中,我将添加到我的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>