In this guest post, Ate Douma, Lead Architect at Hippo, Apache member, and committer for the Apache Portals project, discusses how Nexus Professional's Staging Suite is used to support open source projects such as Apache Jetspeed.
Apache Portals is a collaborative software development project dedicated to providing robust, full-featured, commercial-quality, and freely available Portal-related software on a wide variety of platforms and programming languages. This project is managed in cooperation with a number of people worldwide (both independent and company-affiliated experts), who use the Internet to communicate, plan, and develop Portal software and related documentation.
Hippo actively promotes the use of the Apache Portals Jetspeed-2 Enterprise Portal as a superior Enterprise level / OEM solution because of its performance and flexibility. At Hippo, we rely on Jetspeed-2. Jetspeed-2 is an Open Portal Platform and Enterprise Information Portal which provides the necessary infrastructure for portlets. Jetspeed-2 is a fully integrated part of the collaboration suite consisting or the Hippo CMS and Portal, designed for use in internal and external Enterprise Portals.
Before using Nexus, our releases were managed manually. The release manager had to painstakingly copy the project release artifacts to a predefined location and structure on one of the internal Apache servers. This solution was very time-consuming and error-prone, which caused us to look at Nexus Professional.
We at Apache Portals project were early adopters of the Nexus repository as provided to Apache by Sonatype. The Apache Software Foundation received a free Nexus Professional subscription from Sonatype using their Open Source License Request process early this year. Any currently active open source project which is publicly accessible over the internet can apply and be considered for a free subscription.
At the same time as we migrated our release process to leverage Nexus, we also made the switch to use the new Nexus repository as hosted on http://repository.apache.org. To make it all work together, we had to make a few structural changes in our (master) Maven pom.xml, but (all in all) it was rather easy to do. We were delighted to see that our project configurations were improved and cleaned up as a result of the migration.
Once everything was set up, we configured the Nexus Professional Staging Suite to "stage" our releases, something which was practically impossible with our old manual release process. With the Staging Suite, we have created a staging repository, allowing us to manage the promotion of artifacts from a staging repository to a release repository.
The Nexus Staging Suite has provided us with a workflow to control our releases. Now everyone can do a fully-automated and properly validated release with just a few Maven commands, available directly from within our build environment.
Thinking back to all the tricky and cumbersome manual steps we had to go through before the migration, and comparing to how easy it has become now, switching to Nexus was a good decision, which definitely improved our project management in a major way.
Note: Apache and Apache Portals are trademarks of Apache Software Foundation.