[ https://issues.jenkins-ci.org/browse/JENKINS-11248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Rasmussen resolved JENKINS-11248. ----------------------------------------- Fix Version/s: current Resolution: Fixed > 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 > Fix For: current > > > 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