This text assumes that the version number for a release is X.Y.Z.
- Make new internal JClouds release
if needed and update the
version.jclouds
property inpom.xml
- Make sure
CHANGELOG.md
is up to date. Cross-check with GitHub Issues for given milestone - If needed:
git commit -m "add missing changelog entries"
- Reorder the entries in
CHANGELOG.md
from most important to least Up to this point, entries are typically added chronologically This is not the best order for release - Update the heading of the latest changelog section.
It should look like
X.Y.Z (YYYY-MM-DD)
instead ofX.Y.Z (not yet released)
. - Update version in the
pom.xml
mvn versions:set -DgenerateBackupPoms=false -DnewVersion=X.Y.Z
git commit -a -m "version X.Y.Z"
- Your workspace should now be pristine. Check with
git status
- Run all the tests if possible (see below)
- Build
mvn clean install
- Deploy
mvn source:jar deploy -DskipTests -DperformRelease=true
git tag sunstone-X.Y.Z"
- Close the relevant GitHub Milestone. Optionally create a new Milestone
- Set a new
-SNAPSHOT
version inpom.xml
and corresponding heading to the top ofCHANGELOG.md
. Its text should be:X.Y+1.0 (not yet released)
.
mvn versions:set -DgenerateBackupPoms=false -DnewVersion=X.Y+1.0-SNAPSHOT
git commit -a -m "next is X.Y+1.0"
- Upgrade the version in the dependant project (testsuites, quickstarts, ...) if possible
- Send a release announcement with information about migration to new version
EC2_ACCESS_KEY=...
EC2_SECRET_KEY=...
EC2_PRIVATE_KEY_FILE=${HOME}/.ssh/ec2.privatekey
OS_ENDPOINT=http://openstack-test.my-company.example:5000/v2.0
OS_PRIVATE_KEY_FILE=${HOME}/.ssh/openstack.privatekey
OS_USERNAME=tenant:tenant
OS_PASSWORD=...
OS_IMAGE=rhel-7.2-server-x86_64-cloud-released
AZURE_SUBSCRIPTION_ID=...
AZURE_PRIVATE_KEY_FILE=${HOME}/azure.pfx
AZURE_PRIVATE_KEY_PASSWORD=...
AZURE_STORAGE=...
mvn clean install -fae \
-Dec2.accessKeyID=$EC2_ACCESS_KEY \
-Dec2.secretAccessKey=$EC2_SECRET_KEY \
-Dec2.keyPair=$USER \
-Dec2.ssh.privateKeyFile=$EC2_PRIVATE_KEY_FILE \
-Dazure.subscriptionId=$AZURE_SUBSCRIPTION_ID \
-Dazure.privateKeyFile=$AZURE_PRIVATE_KEY_FILE \
-Dazure.privateKeyPassword=$AZURE_PRIVATE_KEY_PASSWORD \
-Dazure.image=b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_3-LTS-amd64-server-20160114.5-en-us-30GB \
-Dazure.storage=$AZURE_STORAGE \
-Dazure.ssh.user=jboss \
-Dazure.ssh.password=very.123-complicated \
-Dopenstack.endpoint=$OS_ENDPOINT \
"-Dopenstack.username=$OS_USERNAME" \
"-Dopenstack.password=$OS_PASSWORD" \
"-Dopenstack.image=$OS_IMAGE" \
"-Dopenstack.image.id=$OS_IMAGE_ID" \
-Dopenstack.ssh.user=cloud-user \
-Dopenstack.ssh.privateKeyFile=$OS_PRIVATE_KEY_FILE \
-Dopenstack.keypair=cloudsts