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

Bug 490133

Summary: Setup deployment infrastructure for gemini-blueprint
Product: Community Reporter: Olaf Otto <olaf>
Component: CI-JenkinsAssignee: Portal Bugzilla Dummy Inbox <portal-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: charles, denis.roy, frederic.gurr, joao.nelas, mikael.barbero, webmaster
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 394753    

Description Olaf Otto CLA 2016-03-21 18:50:46 EDT
I require a real shell for build.eclipse.org in order to provide a release and update the maven repo for gemini blueprint.

Thanks!
Comment 1 Olaf Otto CLA 2016-03-25 08:42:20 EDT
I'm raising the prio of this issue - it's blocking me from performing a release.
Comment 2 Denis Roy CLA 2016-03-28 13:39:10 EDT
Do you have a HIPP instance?
Comment 3 Olaf Otto CLA 2016-03-28 16:33:07 EDT
Hi Denis,

Thanks for taking time for this issue! We do have a hudson instance for all the gemini projects: https://hudson.eclipse.org/gemini/

Are you implying it's possible to perform an automated delivery from a Hudson instance?

Regards,
Olaf
Comment 4 Denis Roy CLA 2016-03-29 10:00:01 EDT
Everything should be possible from within Hudson.  If by "automated delivery" you mean putting files on download.eclipse.org, or repo.eclipse.org, or even Maven central then yes, all that is possible.  Just let us know what you need, we'll help you set it up.
Comment 5 Olaf Otto CLA 2016-04-02 14:35:12 EDT
(In reply to Denis Roy from comment #4)
> Everything should be possible from within Hudson.  If by "automated
> delivery" you mean putting files on download.eclipse.org, or
> repo.eclipse.org, or even Maven central then yes, all that is possible. 
> Just let us know what you need, we'll help you set it up.

Hi Denis,

Thank you for your suggestions! In this case, I'd like to try releasing to maven central - advise on how to accomplish this would be highly appreciated. I already have experience releasing non-eclipse projects to maven central.

Regards,
Olaf
Comment 6 Denis Roy CLA 2016-04-06 13:23:39 EDT
Olaf, I think this is the outline of the process. Please bear with me as I don't normally do the setup, and it's quite a new setup for our infra:

As HIPP is run as a system account created specifically for your project, we can consider your Hudson instance as a "person" on your project.

1. webmasters create a GPG key for your HIPP system account.  We sign the key with the webmaster's GPG key.  You can also sign it to.

2. We create an OSSRH account on Maven Central based on the mailing list of your project.  For instance, the user account would be gemini-dev@eclipse.org.

3. We install these credentials in your HIPP instance.

4. You deploy to Maven Central.

If that's ok, I'll go ahead and begin the setup.
Comment 7 Olaf Otto CLA 2016-04-06 17:32:04 EDT
That sounds perfect - please go ahead!
Comment 8 Denis Roy CLA 2016-04-08 09:08:00 EDT
Olaf, I've set up all the keys and the OSSRH account, but I seem to have hit a snag with the Maven config.  I'll try something today, but I may need Mikael's help early next week to figure this out.

Thanks for your patience. Once it's done, deplying to Central will be easy and seamless.
Comment 9 Olaf Otto CLA 2016-04-14 07:27:46 EDT
Hi Denis,

Do you have an update regarding the progress?

Regards,
Olaf
Comment 10 Mikaël Barbero CLA 2016-04-14 09:13:22 EDT
Denis, 

You did everything good ;) The only thing that was missing was the usage of the proper settings in the test job. For some reason, it was not possible without first upgrading the maven plugin to the latest version.

However, I can't find the issue @ OSSRH where you've asked for the creation of the Gemini project space (an issue similar to this one https://issues.sonatype.org/browse/OSSRH-21796). As I did not specify that step on our internal documentation of the process, I won't be surprised you did not do it ;) These steps are actually outlined here http://central.sonatype.org/pages/ossrh-guide.html#create-a-ticket-with-sonatype and it was so obvious to me that I've skipped them. Sorry about that.
Comment 11 Denis Roy CLA 2016-04-14 11:47:32 EDT
Thanks, that explains it.  If you've updated the docs, please let me perform the next request of this type so I can go through it.

Are we done with this request?
Comment 12 Mikaël Barbero CLA 2016-04-14 12:50:05 EDT
(In reply to Denis Roy from comment #11)
> Thanks, that explains it.  If you've updated the docs, please let me perform
> the next request of this type so I can go through it.

Will do.

> Are we done with this request?

Nope. You still need to create a ticket (https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134) for Gemini. See this one https://issues.sonatype.org/browse/OSSRH-21796 I created for Package Drone. It will ask you the groupId of the project. What I usually do, is go to the git repo of the project, search for the parent pom and use the groupId of this pom. For gemini, there are several git repo (http://git.eclipse.org/c/gemini) but they all use the same groupId prefix "org.eclipse.gemini" so this is the value you should specify in the ticket:

http://git.eclipse.org/c/gemini.jpa/org.eclipse.gemini.jpa.git/tree/pom.xml#n31
http://git.eclipse.org/c/gemini.blueprint/org.eclipse.gemini.blueprint.git/tree/pom.xml#n11
http://git.eclipse.org/c/gemini.dbaccess/org.eclipse.gemini.dbaccess.git/tree/mvn_parent/pom.xml#n22
http://git.eclipse.org/c/gemini.management/org.eclipse.gemini.managment.git/tree/gemini.management.releng/pom.xml#n5
http://git.eclipse.org/c/gemini.naming/org.eclipse.gemini.naming.git/tree/pom.xml#n13

Once the ticket is resolved, I usually comment on the bug to ask committers to tell us when they did their first release so that we can comment on the ticket as required by Sonatype.
Comment 13 Olaf Otto CLA 2016-04-15 02:53:48 EDT
Using org.eclipse.gemini as a group id has the additional advantage that other gemini projects could also begin to deploy to maven central...

Please let me know when the sonatpe ticket is created, I'll watch it then, thanks!
Comment 14 Olaf Otto CLA 2016-04-18 09:18:21 EDT
Hi all,

(In reply to Mikaël Barbero from comment #12)
> Nope. You still need to create a ticket
> (https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134)
> for Gemini. See this one https://issues.sonatype.org/browse/OSSRH-21796 I
> created for Package Drone.

Has an issue been created yet? Please let me know if I can be of any assistance.

Regards,
Olaf
Comment 15 Denis Roy CLA 2016-04-18 16:00:02 EDT
Does this make sense:
https://issues.sonatype.org/browse/OSSRH-21895
Comment 16 Mikaël Barbero CLA 2016-04-19 02:03:52 EDT
(In reply to Denis Roy from comment #15)
> Does this make sense:
> https://issues.sonatype.org/browse/OSSRH-21895

Denis, That's perfect.

https://issues.sonatype.org/browse/OSSRH-21895 is now resolved.

The signing key is also created and configured on your HIPP. Your public key is https://pgp.mit.edu/pks/lookup?op=vindex&search=0x857BDA2850659DEC. It is signed by the webmaster's key. As a committer, you should sign it too.

On your HIPP, you have a dedicated maven settings to use which is named "Deploy to OSSRH". You have to configure it on maven build step in your jobs.

This setting contains a server definition named "ossrh" to let you upload things to sonatype's server. This server id should be used in a distributionManagement repository somewhere specifying the url. See http://central.sonatype.org/pages/ossrh-guide.html#releasing-to-central and http://central.sonatype.org/pages/ossrh-guide.html#ossrh-usage-notes for details.

The gpg passphrase is also configured (encrypted) in this settings (as described at https://maven.apache.org/plugins/maven-gpg-plugin/usage.html#Configure_passphrase_in_settings.xml). You can now use the maven-gpg-plugin, it should work as is without further configuration if you properly selected the "Deploy to OSSRH" setting.

Let us know when you promoted your first release so we can comment on https://issues.sonatype.org/browse/OSSRH-19296.
Comment 17 Olaf Otto CLA 2016-04-21 02:32:14 EDT
(In reply to Mikaël Barbero from comment #16)

> https://issues.sonatype.org/browse/OSSRH-21895 is now resolved.

Excellent - thanks a lot! How would I promote future releases from the sonatype staging repo? Usually, one logs into their Nexus to close + promote the staging repo, but this requires login credentials for their web interface.

Regards,
Olaf
Comment 18 Mikaël Barbero CLA 2016-04-21 03:30:42 EDT
(In reply to Olaf Otto from comment #17)
> (In reply to Mikaël Barbero from comment #16)
> 
> > https://issues.sonatype.org/browse/OSSRH-21895 is now resolved.
> 
> Excellent - thanks a lot! How would I promote future releases from the
> sonatype staging repo? Usually, one logs into their Nexus to close + promote
> the staging repo, but this requires login credentials for their web
> interface.

We can't provide you with the OSSRH credentials. You should use nexus-staging-plugin to do these steps directly from your HIPP. See http://central.sonatype.org/pages/apache-maven.html#nexus-staging-maven-plugin-for-deployment-and-release for details.
Comment 19 Olaf Otto CLA 2016-04-21 03:43:29 EDT
(In reply to Mikaël Barbero from comment #18)
Perfect, thanks!
Comment 20 Olaf Otto CLA 2016-04-28 14:53:27 EDT
Dear Denis and Mikaël,

Today I successfully performed the first release to maven central.

The deployment infrastructure is thus working smoothly.

Thanks a lot for your support!

Regards,
Olaf
Comment 21 Charles Gould CLA 2016-04-29 09:29:49 EDT
Thanks for working on this guys!
Comment 22 Frederic Gurr CLA 2018-08-15 12:50:27 EDT
Closing.