Skip to content
Alexander Alexandrov edited this page Sep 6, 2016 · 16 revisions

General instructions for Maven deployment can be found here.

Preparation

Gnome users with gnupg2 > 2.1 will have to add the following code snippet to their .bashrc in order to avoid re-entering the gpg password multiple times when signing the release artifacts.

# entries required by gpg-agent
# see http://manpages.ubuntu.com/manpages/xenial/man1/gpg-agent.1.html
# see https://bugzilla.redhat.com/show_bug.cgi?id=1221234
function gpg-update() {
    GPG_TTY=$(tty)
    GPG_PID=$(pidof gpg-agent)
    GPG_AGENT_INFO=${HOME}/.gnupg/S.gpg-agent:$GPG_PID:1
    export GPG_TTY
    export GPG_AGENT_INFO
}

gpg-update

Release Workflow

Assuming the following variables

export DEV_VER="1.0-SNAPSHOT" # development version
export REL_VER="1.0.0-rc1"    # next release version

Step 1. Bump up the project version.

mvn clean
mvn versions:set -DnewVersion=$REL_VER
find -name pom.xml | xargs sed -i "s|<peel.version>$DEV_VER<\/peel.version>|<peel.version>$REL_VER<\/peel.version>|g"
git commit -am "Bumping up the project version to v$REL_VER."

Step 2. Tag the release.

git tag "v$REL_VER"

Step 3. Deploy the release to Sonatype.

First, clean and deploy to Sonatype using the release profile.

mvn clean deploy -P release

After that, login to the Sonatype Repository Manager and open the the "Staging Repositories" tab. You should see an orgpeelframework staging repository containing the deployed release. Select the repository and click the release action from the menu in the top pane.

Check the official "Deployment Releasing" documentation from Sonatype for a step-by-step description with screenshots.

For Step 6, it makes sense to save the peel-empty-bundle-$REL_VER.tar.gz build artifact on the side.

Step 4. Revert the development version.

mvn clean
mvn versions:revert
find -name pom.xml | xargs sed -i "s|<peel.version>$REL_VER<\/peel.version>|<peel.version>$DEV_VER<\/peel.version>|g"
git commit -am "Reverting the project version to $DEV_VER."

Step 5. Push the new commits online.

git push upstream master --tags

Attach the peel-empty-bundle-$REL_VER.tar.gz build artifact to the release.

Step 6. Update the current_version in the webiste _config.yml.

Clone this wiki locally