Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 345792

Summary: Allow Hudson to Deploy Maven Snapshots/Releases to Nexus
Product: Community Reporter: David Carver <d_a_carver>
Component: CI-JenkinsAssignee: Thanh Ha <thanh.ha>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: bentmann, fiedler.mf, hmalphettes, matthias.sohn, mtaal, sven.rottstock
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description David Carver CLA 2011-05-13 17:07:34 EDT
Maven has a Deployment phase that can be run.

http://maven.apache.org/plugins/maven-deploy-plugin/

We can limit this to a specific user id.  The reason for a project to deploy their items to the Snapshots repository is for easier sharing amongst other projects, and to make them available for testing by adopters.

Nexus allows for a consistent way to manage these snapshots, how long they stay around, and to make sure Meta Data is consistent.

This eliminates the need for each and every project to go through and maintain their own maven repositories.

To enable this, we would need to add some items to the Hudson master/slave machine's settings.xml file.

http://maven.apache.org/settings.html

If Hudson can not deploy the artifacts, that then means that builds have to be run manually outside of the foundation, and then individuals given rights for the deployment.   This can be a big hindrance, since some builds may take several hours to complete.
Comment 1 Eclipse Webmaster CLA 2011-05-27 14:21:03 EDT
So the idea here is to create a 'single' maven repo outside of Eclipse.org for projects to use?

I've asked EMO legal for input(since I think this falls under 'distribution'), and they may have extra questions.

-M.
Comment 2 David Carver CLA 2011-05-27 14:55:42 EDT
(In reply to comment #1)
> So the idea here is to create a 'single' maven repo outside of Eclipse.org for
> projects to use?
> 
> I've asked EMO legal for input(since I think this falls under 'distribution'),
> and they may have extra questions.

No, this is to leverage the Nexus repo, that we host on maven.eclipse.org.

It's similar to having deploying to say downloads for milestones and releases, but it goes to the host maven.eclipse.org nexus instance.
Comment 3 Hugues Malphettes CLA 2011-05-30 19:29:25 EDT
We would take advatnage of this for the jetty nightly builds:
One job runs the jetty maven build which installs the snapshot jetty jars into the repository.
A second job picks those jars from maven and publishes them as a p2 repository.

At the moment we use the local /opt/users/hudsonbuild/.m2/repository
to pass the snapshot jars from one build to the other.

It is brittle.
Comment 4 Denis Roy CLA 2011-07-05 09:31:47 EDT
*** Bug 350992 has been marked as a duplicate of this bug. ***
Comment 5 Matthias Sohn CLA 2011-10-11 03:17:37 EDT
We would also like to use this for the JGit and EGit builds (already experimenting with it).
Comment 6 Denis Roy CLA 2012-11-21 09:39:30 EST
*** Bug 378130 has been marked as a duplicate of this bug. ***
Comment 7 Denis Roy CLA 2012-11-21 09:39:38 EST
*** Bug 394787 has been marked as a duplicate of this bug. ***
Comment 8 Denis Roy CLA 2012-11-21 09:40:40 EST
I'm assigning this to Thanh.  He'll (eventually) take over maven.eclipse.org and can oversee what needs to be done here.
Comment 9 Thanh Ha CLA 2013-03-01 15:23:57 EST
Hudson is now able to deploy to the new Nexus instance at https://repo.eclipse.org per Bug 394792.

If your project needs a repo created to deploy to let us know by creating a new Bug.