5

在我将 Jenkins 升级到 1.494 之前,这曾经有效。现在,当使用构建提升插件将战争工件复制到快照存储库时,我在 Jenkins 中收到此错误:

    ERROR: Failed to deploy artifacts: Could not transfer artifact com.blah.data:RestWebServices:war:1.0-20121224.163825-2 from/to archiva.apache.snapshots (http://10.31.31.64:8080/archiva/repository/snapshots): Failed to transfer file: http://10.31.31.64:8080/archiva/repository/snapshots/com/blah/data/RestWebServices/1.0-SNAPSHOT/RestWebServices-1.0-20121224.163825-2.war. Return code is: 401, ReasonPhrase:Unauthorized.
org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not transfer artifact com.blah.data:RestWebServices:war:1.0-20121224.163825-2 from/to archiva.apache.snapshots (http://10.31.31.64:8080/archiva/repository/snapshots): Failed to transfer file: http://10.31.31.64:8080/archiva/repository/snapshots/com/blah/data/RestWebServices/1.0-SNAPSHOT/RestWebServices-1.0-20121224.163825-2.war. Return code is: 401, ReasonPhrase:Unauthorized.
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:141)
    at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:190)
    at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:173)
    at hudson.plugins.promoted_builds.Promotion$RunnerImpl.build(Promotion.java:187)
    at hudson.plugins.promoted_builds.Promotion$RunnerImpl.doRun(Promotion.java:141)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
    at hudson.model.Run.execute(Run.java:1543)
    at hudson.model.Run.run(Run.java:1489)
    at hudson.plugins.promoted_builds.Promotion.run(Promotion.java:106)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)
Caused by: org.sonatype.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not transfer artifact com.blah.data:RestWebServices:war:1.0-20121224.163825-2 from/to archiva.apache.snapshots (http://10.31.31.64:8080/archiva/repository/snapshots): Failed to transfer file: http://10.31.31.64:8080/archiva/repository/snapshots/com/blah/data/RestWebServices/1.0-SNAPSHOT/RestWebServices-1.0-20121224.163825-2.war. Return code is: 401, ReasonPhrase:Unauthorized.
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:280)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:211)
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:443)
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137)
    ... 10 more
Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact com.blah.data:RestWebServices:war:1.0-20121224.163825-2 from/to archiva.apache.snapshots (http://10.31.31.64:8080/archiva/repository/snapshots): Failed to transfer file: http://10.31.31.64:8080/archiva/repository/snapshots/com/blah/data/RestWebServices/1.0-SNAPSHOT/RestWebServices-1.0-20121224.163825-2.war. Return code is: 401, ReasonPhrase:Unauthorized.
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:951)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:941)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:837)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:467)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:274)
    ... 13 more
Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer file: http://10.31.31.64:8080/archiva/repository/snapshots/com/blah/data/RestWebServices/1.0-SNAPSHOT/RestWebServices-1.0-20121224.163825-2.war. Return code is: 401, ReasonPhrase:Unauthorized.
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:613)
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:509)
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:490)
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:470)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:811)
    ... 15 more

我在 settings.xml 文件中有信誉:

<server>
      <id>snapshots</id>
      <username>deployment</username>
      <password>deployment</password>
    </server>

不知道为什么这突然停止使用 1.494。我逐渐降级到 1.491,但它仍然发生。非常令人沮丧。

4

5 回答 5

13

您已经通过降级证明了自己这不是纯粹的 Jenkins 问题。由于密码位于 settings.xml 中,请尝试在 Jenkins 中运行它mvn help:effective-settings。这将为您提供运行时的确切设置以及密码是否存在。

还可以尝试检查您的<id>snapshots</id>和的拼写<username>deployment</username>。我今天刚刚在某个地方遇到了这个错误,一个用户而releases不是releasemaven 给出了禁止的错误

于 2012-12-26T03:41:57.350 回答
3

我建议安装Config File Provider 插件,它提供了一个很好的 GUI 用于编辑配置文件的内容(例如 Maven 设置文件)

配置构建时,使用“-s”选项告诉 Maven 使用以下配置文件之一:

mvn -s $MY_PROJECTS_MAVEN_SETTINGS ???

这种方法的优点是您可以确定构建正在使用您的设置,而不是一些随机文件,它可能会从文件系统中删除。第二个好处是每个项目现在可以轻松地拥有自己特定的 Maven 设置(例如,每个项目很可能有不同的凭据)。

于 2012-12-24T18:59:07.273 回答
2

我想出了如何解决这个问题,但我仍然不知道它是如何开始的。

我在 Archiva 中创建了第三个用户,并将其设置为用户不必在第一次登录时更改密码。然后我用那个新用户更新了 Jenkins 中的 settings.xml。

现在可以了。

我仍然不知道为什么它停止与原始用户合作。

感谢大家的帮助。

于 2013-01-02T15:14:04.900 回答
0

感谢您跟进解决方案 Oggie。我刚刚遇到了同样的症状,并且已经克服了你的新用户修复。

更多信息:我能够通过删除旧用户并使用完全相同的用户名和密码创建一个新用户来使旧用户名和密码正常工作。(尽管我在此过程中尝试了一个具有相同/不同密码的新用户)。

至于原因……我不太清楚。我们在与 UberSVN 相同的机器上运行 Archiva,我们的 Jenkins 作为插件位于 UberSVN 中。没有对其中任何一个进行升级。然而,对服务器上的各种目录进行了许多所有权更改,尽管我看不出这些是原因,因为解决方案是简单地创建一个新用户。

再次感谢您的帖子。

于 2013-07-04T12:33:33.530 回答
0

RepositoryManager在重新创建我的 Archiva 存储库后,我错过了为部署用户提供角色。添加角色后,解决了上传神器时的401。

请参阅Archiva 用户指南

于 2017-11-15T09:10:34.320 回答