Release process has been edited by Chris Custine (Apr 28, 2009).

(View changes)

Content:

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

mvn release:prepare

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://svn.apache.org/repos/asf/servicemix/smx4/kernel/tags/kernel-1.0-rc1
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:

staging::default::file:///Users/gnodet/tmp/servicemix-kernel-1.0-rc1

to deploy on your local file system, or:

staging::default::scpexe://people.apache.org/home/gnodet/public_html/staging/servicemix-kernel-1.0-rc1

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:

ssh -M people.apache.org

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://people.apache.org/~gnodet/staging/specs-1.0.0/" \
   -Dtarget="scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository" \
   -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:

mvn release:rollback

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:

svn remote https://svn.apache.org/repos/asf/servicemix/smx4/kernel/tags/kernel-1.0-rc1 -m "Rollback release"

Reply via email to