This page describes the step-by-step process of how to perform an official Tephra version release, including deploying the release artifacts to Maven repositories and the additional administrative steps to complete the release process.
Prior to performing a Tephra release, you must have an entry such as this in your
~/.m2/settings.xml
file to authenticate when deploying the release artifacts:
<?xml version="1.0" encoding="UTF-8"?> <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <servers> <server> <id>sonatype.snapshots</id> <username>USERNAME</username> <password>PASSWORD</password> </server> <server> <id>sonatype.release</id> <username>USERNAME</username> <password>PASSWORD</password> </server> </servers> </settings>
Replace USERNAME
and PASSWORD
with the correct values for your user account. See the
Maven Encryption Guide for details
on how to avoid storing the plaintext password in the settings.xml file.
You will also need to have created a PGP (or GPG) key pair, which will be used in signing the release artifacts. For more information on using the Maven GPG plugin, see this introduction from Sonatype and the Maven GPG Plugin usage page. You may also want to run gpg-agent in order to avoid being prompted multiple times for the GPG key passphrase when performing a release.
First, make sure your local copy of the develop
branch is up-to-date with all changes:
git checkout develop git pull
Next, create a release branch from develop
:
git checkout -b release/N.N.N
replacing N.N.N
with the desired release version.
While on the release branch, prepare the release:
mvn clean release:prepare -P release
This will prompt you for the release version and the git tag to use for the release. By
convention, we use vN.N.N
for the release tag (ie. v0.6.0 for release 0.6.0).
Perform the release by running:
mvn release:perform -P release
This will checkout the source code using the release tag, build the release and deploy it to the oss.sonatype.org repository.
Release the artifact bundle in Artifactory:
- Login to https://oss.sonatype.org (you will need to use the same credentials you have
configured in your
~/.m2/settings.xml
file). - Go to "Staging Repos".
- Find the "comcontinuuity" repo with the Tephra release. Be sure to expand the contents of the repo to confirm that it contains the correct Tephra artifacts.
- Click on the "Release" button at top, and enter a brief description, such as "Tephra N.N.N release".
After the release is complete, update the other git branches with the release changes:
git checkout master git merge release/N.N.N git push origin master git checkout develop git merge master git push origin develop
Mark the release as complete in JIRA (in the Tephra Administration section):
- Add a release for the next version, if necessary
- Set a release date and release the released version
Create a new release in github:
- Create a new release based on the release tag used
- Add the release description
- Upload release artifacts from
tephra-distribution/target/
Finally, announce the release on the Tephra mailing lists: [email protected], [email protected]