Release process
We use Maven release plugin to perform most of the operation needed when releasing ServiceMix Kernel.
1. Create the release notes
Use the following steps
- In JIRA, mark the release as released with a date a few days later to allow the vote to take place.
- Grab the release notes in text format:
- Go to the changelog panel
and select the needed release
- Click on release notes, then change the URL parameter to use styleName=Text, it should give something like the following
![]()
- Copy the content of the text panel to the clipboard and edit the RELEASE_NOTES file in svn
- Commit the changed release notes in svn
2. Prepare the release
You will need to answer a few questions:
- the version to release
- the name of the tag to use for the release
- the new version to use
3. Performing the release
svn checkout https:cd kernel-1.0-rc1
mvn -Prelease -Dgpg.passphrase=xxx -Ddeploy.altRepository=yyy deploy
where xxx is your passphrase for signing the artifacts and yyy is the url of the staging repo, for example:
to deploy on your local file system, or:
staging::default::scpexe:
To deploy to a staging repo at Apache, a good thing is to use an ssh master connection using the following command in another terminal:
4. Create the download page
In the wiki, go to the download page
and create a new child page named with the version of the release, for example ServiceMix Kernel 1.0-rc1. Copy the content of a previous release and update the links with the current release.
Use the edited release notes to update the page too.
While the vote is ongoing, add a notice at the beginning of the page:
{warning:title=This release is not official}
This page is a preview of the download page for Apache ServiceMix Kernel 1.0-m1, but this release is not official yet. Please, come back in a few days.
{warning}
5. Start the vote
Start a vote on the dev list with pointers to the download page, binary distribution and svn tags.
6. Finishing the process
Once the vote is over, move the binaries to from the staging repo to the final repository and copy the distributions to the ASF mirrored location.
Remove the notice on the download page.
mvn stage:copy \
-Dsource="http: \
-Dtarget="scp: \
-Dversion=1.0.0
Wait one hour until everything is synced and send the announcement email to the users and dev list (and announce[SMX4KNL:at]apache.org from an apache email account).
7. Rolling back a release
In case there is a problem, you can easily roll back the release using maven:
For the above command to work, you need to run it from the same local directory where the release was prepared and not clean the directory using the mvn release:clean command, else all the needed informations would have been lost.
Also, note that the create tag is not removed so you need to run the following command too: