在我将 Jenkins 升级到 1.494 之前,这曾经有效。现在,当使用构建升级插件将 war 工件复制到快照存储库时,我在 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,但它仍然发生。非常令人沮丧。
您已经通过降级证明了这不是纯粹的 Jenkins 问题。由于密码位于 settings.xml 中,请尝试从 Jenkins
mvn help:effective-settings
中运行它。这将为您提供运行时的具体设置以及密码是否在其中。
另请尝试检查
<id>snapshots</id>
和 <username>deployment</username>
的拼写。我今天刚刚在某个地方遇到了这个错误,用户是 releases
而不是 release
并且 maven 给出了 forbidden 错误
我建议安装 Config File Provider 插件,它提供了一个很好的 GUI 来编辑配置文件的内容(例如 Maven 设置文件)
配置构建时,使用“-s”选项告诉 Maven 使用以下配置文件之一:
mvn -s $MY_PROJECTS_MAVEN_SETTINGS ???
这种方法的优点是,您可以确定构建正在使用您的设置,而不是它可能从文件系统中删除的一些随机文件。第二个好处是每个项目现在可以轻松拥有自己特定的 Maven 设置(例如每个项目很可能有不同的凭据)。
我想出了如何解决这个问题,但我仍然不知道它是如何发生的。
我在 Archiva 中创建了第三个用户,并将其设置为用户在第一次登录时无需更改密码。然后我用该新用户更新了 Jenkins 中的 settings.xml。
现在可以使用了。
我仍然不知道为什么它停止与原始用户合作。
感谢大家的帮助。
感谢奥吉跟进您的解决方案。我刚刚遇到了同样的症状,并通过您的新用户修复克服了。
更多信息: 通过删除旧用户并使用完全相同的用户名和密码创建新用户,我能够使旧用户名和密码正常工作。 (尽管我一路上尝试了使用相同/不同密码的新用户)。
关于原因... 我没什么想法。我们在与 UberSVN 相同的机器上运行 Archiva,并且我们的 Jenkins 作为插件位于 UberSVN 中。没有对其中任何一个进行升级。然而,对服务器上的各个目录进行了许多所有权更改,尽管我看不出这些是原因,因为解决方案只是创建一个新用户。
再次感谢您的帖子。
我遇到了同样的问题,根据向服务台报告的 Jenkins 问题,您的帐户也可能存在一些问题(基础设施问题)。
验证 https://www.jenkins.io/doc/developer/publishing/releasing-manually/ 如果您发现 Jenkins 帐户有奇怪的情况,请尝试 https://github.com/jenkins-infra/helpdesk