- No SNAPSHOT dependencies on "develop" and obviously "master" branches
- From the develop branch, prepare a release (example using a HTTP proxy):
$ mvn -Dhttps.proxyHost=proxyhostname -Dhttps.proxyPort=80 jgitflow:release-start
- Update the CHANGELOG according to keepachangelog.com.
- To perform the release (example using a HTTP proxy):
$ mvn -Dhttps.proxyHost=proxyhostname -Dhttps.proxyPort=80 jgitflow:release-finish
If, after deployment, the command does not succeed because of some issue with the branches. Fix the issue, then re-run the same command but with 'noDeploy' option set to true to avoid re-deployment:
$ mvn -Dhttps.proxyHost=proxyhostname -Dhttps.proxyPort=80 -DnoDeploy=true jgitflow:release-finish
If the command fails because of a gpg error such as "no gpg-agent available to this session" or "no pinentry", make sure you have installed a pinentry program (e.g. with package `pinentry-gnome3`), and that a gpg-agent is running with this pinentry program, for example:
$ gpg-agent --daemon --pinentry-program /usr/bin/pinentry-gnome3
Then re-run the mvn command as above.
- Connect and log in to the OSS Nexus Repository Manager: https://oss.sonatype.org/
- Go to Staging Profiles and select the pending repository authzforce-*... you just uploaded with
jgitflow:release-finish
- Click the Release button to release to Maven Central.
More info on jgitflow: http://jgitflow.bitbucket.org/