- You must first be authorized. An existing Exhibitor committer must do this.
- You should be comfortable using Apache Maven
Your Maven settings (~/.m2/settings.xml) file should have entries for the Sonatype servers:
<settings>
...
<servers>
<server>
<id>sonatype-nexus-staging</id>
<username>Your Sonatype OSS Username</username>
<password>PASSWORD-ENCODED</password>
</server>
<server>
<id>sonatype-nexus-snapshots</id>
<username>Your Sonatype OSS Username</username>
<password>PASSWORD-ENCODED</password>
</server>
...
</servers>
...
</settings>
Note: you can store encrypted passwords in your settings.xml if you want. Read the details here: http://maven.apache.org/guides/mini/guide-encryption.html
The release is done from your local machine. The process is similar to releasing an Apache open source project.
- Ensure that you have created a GPG key and uploaded it to a public GPG server. Maven will also try to run
gpg
so make sure its on yourPATH
. Also make sure yourmaster
branch is up to date. - The Maven commands to create the release (note there is considerable time between each):
mvn -P oss release:prepare
: this will modify pom with new version and commit/push changes to originmvn -P oss release:perform
: this uploads poms/jars to Sonatype maven repositorygit push --tags
: this will push release tags created by previos commands to github (may not be required)
- Promote the release in the Sonatype Nexus repository:
- Go to: https://oss.sonatype.org and login
- Select Staging Repositories under the Build Promotion section on the left hand side
- Select the repository from the main window, it should start with
iosoabase
- Select the Content tab at the bottom of the screen and navigate through the artifact tree and double check things
- Close the Nexus staging repo by clicking on the soasbase-exhibitor repo and clicking the "Close" button
- Release it by clicking the "Release" button (note: you need to wait a few minutes for "close" to complete
- The release is now complete. Send an email to the Exhibitor user list, etc.