[ https://issues.jenkins-ci.org/browse/JENKINS-11248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=160418#comment-160418 ]
Alexander Potapov commented on JENKINS-11248: --------------------------------------------- Today I had similar problem. I don't know if my issue related to this one mentioned here... But I have Nexus repository which is configured for releases. When I was trying to deploy snapshot there I got similar exception (Return code is: 400, ReasonPhrase:Bad Request). After changing project version in POM to non snapshot version, build succeeded. Maybe it is related to maven repository setup or repository URLs specified, for instance, in POM file. Anyway, I think you are trying to deploy snapshot into releases repository. > Build fails on "Deploy artifacts to Maven repository" due to trying to upload > parent POM twice for release artifacts > -------------------------------------------------------------------------------------------------------------------- > > Key: JENKINS-11248 > URL: https://issues.jenkins-ci.org/browse/JENKINS-11248 > Project: Jenkins > Issue Type: Bug > Components: deploy, maven2 > Affects Versions: current > Environment: OS: CentOS release 5.5 (Final) > Jenkins: 1.433 > Apache Maven 3.0.3 (r1075438; 2011-02-28 17:31:09+0000) > Java version: 1.6.0_26, vendor: Sun Microsystems Inc. > Default locale: en_US, platform encoding: UTF-8 > OS name: "linux", version: "2.6.18-194.32.1.el5", arch: "amd64", family: > "unix" > Reporter: Michael Rasmussen > Assignee: olamy > > Scenario: We have several sets of Java OSGi services with a parent pom and 4 > child projects/poms. The parent pom does not generate any JARs, but each of > the children generates a jar.Something like the following: > {noformat} > project_folder/ > |_servicename.business/ > | \_pom.xml > |_servicename.jms/ > | \_pom.xml > |_servicename.model/ > | \_pom.xml > |_servicename.webservice/ > | \_pom.xml > \_pom.xml > {noformat} > Each of these services is setup as a separate Jenkins job, and the maven > dependencies are turned on so they all build in the appropriate order. > Within the parent pom we have our <distributionManagement> section defined so > we can run the mvn deploy goals to upload artifacts to our maven repository. > Up until this point we have only been building SNAPSHOTS, for which the Nexus > repository allows redeploying of artifacts. > WHAT IS GOING WRONG: > The other day we tried to build our first release version of some of the > services, and the deployment into the Nexus maven repository failed on the > "Deploy artifacts to Maven repository" task. > Looking at the Console Output of the failed job, for some reason Jenkins is > trying to deploy the parent POM a second time. Nexus refuses this, as it does > not allow redeploying of release artifacts. Below is an excerpt from the > output of one of those jobs: > {quote} > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 52.240s > [INFO] Finished at: Thu Oct 06 14:55:37 GMT 2011 > [INFO] Final Memory: 63M/151M > [INFO] > ------------------------------------------------------------------------ > channel stopped > Maven RedeployPublished use remote maven settings from : > /opt/maven/conf/settings.xml > [ERROR] uniqueVersion == false is not anymore supported in maven 3 > [INFO] Deployment in > dav:http://maven.luthresearch.net/nexus/content/repositories/releases/ > (id=com.luthresearch,uniqueVersion=false) > Deploying the main artifact savvyconnect-1.0.1.pom > Uploading: > dav:http://maven.luthresearch.net/nexus/content/repositories/releases/com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom > Uploaded: > dav:http://maven.luthresearch.net/nexus/content/repositories/releases/com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom > (3 KB at 24.4 KB/sec) > Uploading: > http://maven.luthresearch.net/nexus/content/repositories/releases/com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom > ERROR: Failed to deploy artifacts: Could not transfer artifact > com.luthresearch.savvyconnect:savvyconnect:pom:1.0.1 from/to com.luthresearch > (dav:http://maven.luthresearch.net/nexus/content/repositories/releases/): > Failed to transfer file: > http://maven.luthresearch.net/nexus/content/repositories/releases//com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom. > Return code is: 400 > org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to > deploy artifacts: Could not transfer artifact > com.luthresearch.savvyconnect:savvyconnect:pom:1.0.1 from/to com.luthresearch > (dav:http://maven.luthresearch.net/nexus/content/repositories/releases/): > Failed to transfer file: > http://maven.luthresearch.net/nexus/content/repositories/releases//com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom. > Return code is: 400 > at > org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:141) > at > hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:189) > at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:158) > at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) > at > hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:693) > at > hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:668) > at > hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:987) > at > hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:615) > at hudson.model.Run.run(Run.java:1428) > at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:478) > at hudson.model.ResourceController.execute(ResourceController.java:88) > at hudson.model.Executor.run(Executor.java:230) > Caused by: org.sonatype.aether.deployment.DeploymentException: Failed to > deploy artifacts: Could not transfer artifact > com.luthresearch.savvyconnect:savvyconnect:pom:1.0.1 from/to com.luthresearch > (dav:http://maven.luthresearch.net/nexus/content/repositories/releases/): > Failed to transfer file: > http://maven.luthresearch.net/nexus/content/repositories/releases//com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom. > Return code is: 400 > at > org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:284) > at > org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:215) > at > org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:480) > at > org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137) > ... 11 more > Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not > transfer artifact com.luthresearch.savvyconnect:savvyconnect:pom:1.0.1 > from/to com.luthresearch > (dav:http://maven.luthresearch.net/nexus/content/repositories/releases/): > Failed to transfer file: > http://maven.luthresearch.net/nexus/content/repositories/releases//com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom. > Return code is: 400 > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:949) > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940) > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.flush(WagonRepositoryConnector.java:864) > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:466) > at > org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:278) > ... 14 more > Caused by: org.apache.maven.wagon.TransferFailedException: Failed to transfer > file: > http://maven.luthresearch.net/nexus/content/repositories/releases//com/luthresearch/savvyconnect/savvyconnect/1.0.1/savvyconnect-1.0.1.pom. > Return code is: 400 > at > org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:368) > at > org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:280) > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:825) > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:465) > ... 15 more > [INFO] Deployment failed after 0.27 sec > Build step 'Deploy artifacts to Maven repository' changed build result to > FAILURE > Sending e-mails to: devst...@luthresearch.com > Finished: FAILURE > {quote} > CONFIRMATION OF ISSUE: > I logged into the build server, went to the project in the Jenkins workspace, > deleted the existing release artifacts from the maven repository, and > manually ran the mvn deploy goal. It succeeded in uploading all of the > artifacts including the JARs. > WORKAROUND: > I disabled the "Post-Build Actions"->"Deploy artifacts to Maven repository." > I then setup a "Post Steps"->"Invoke top-level Maven target" task with the > Maven goal of "deploy". (I believe this functionality is provided by the > Jenkins M2 Extra Steps Plugin. > https://wiki.jenkins-ci.org/display/JENKINS/M2+Extra+Steps+Plugin) > Using the post build step to execute the deploy goal succeeds in successfully > uploading all of the artifacts. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira