You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Deploying snapshots

There is no need to manually deploy snapshots.
Snapshots are automatically deployed by Hudson build to the Nexus snapshot repository at https://repository.apache.org/content/repositories/snapshots/org/apache/wink

Performing a release

For the most part, we follow the same instructions that the maven team uses. http://maven.apache.org/developers/release/releasing.html

Basically, setup your settings.xml file as they described.



After that is setup, you need to update the release_notes.txt in the src/doc, clean wink from your local repository perform the following steps:

1. Prepare the project for the release

Run the following maven command to prepare the project for the release:

mvn release:prepare 

Running mvn release:prepare will executes the following steps

  • Check that there are no uncommitted changes in the sources
  • Check that there are no SNAPSHOT dependencies
  • Change the version in the poms from x-SNAPSHOT to a new version (you will be prompted for the versions to use)
  • Transform the SCM information in the POM to include the final destination of the tag
  • Run the project tests against the modified POMs to confirm everything is in working order
  • Commit the modified POMs
  • Tag the code in the SCM with a version name (this will be prompted for)
  • Bump the version in the POMs to a new value y-SNAPSHOT (these values will also be prompted for)
  • Commit the modified POMs



2. Perform the release

Run the following maven command to build and deploy the release:

mvn release:perform -PCIBuild

Running mvn release:perform will executes the following steps

  • Checkout from the tag
  • Build the project and deploy all artifacts to Nexus temporary staging repository while gpg signing all artifacts.



3. Close the staging repository

When the build is done staging, you need to login to the Nexus repository and "close" the staging area. See the Maven page for instructions. That is very important. After the staging are is closed, note the URL for the staging area as you will need that for the vote.



4. Call the vote

Propose a vote on the dev list the staging repository, the staging site and release SCM tag. For instance:

I'm calling a vote to release Wink 0.1

The Maven staging area is at:
https://repository.apache.org/content/repositories/wink-staging-014/

The distributions are in:
https://repository.apache.org/content/repositories/wink-staging-014/org/apache/wink/apache-wink/0.1-incubating/

This release is tagged at:
https://svn.apache.org/repos/asf/incubator/wink/tags/wink-0.1-incubating/

The vote will be open here for at least 72 hours. 



5. Unsuccessful Voting

If the vote is unsuccessful, the process will need to be restarted

  • Rollback changes done to POMs
  • delete tag from SCM manually
  • Login to Nexus, and "Drop" the release from the staging repository

    6. Successful Voting

If the vote passes, you'll need to promote that staging repository to the main location. Login to Nexus to do that as well. See above Maven team release page.



7. Coping distributions to Apache

Don't forget to copy the actual distributions (all artifacts located under apache-wink in Nexus repo) to people.apache.org:/www/www.apache.org/dist/incubator/wink.

Resources

A Guide To Release Management During Incubation http://incubator.apache.org/guides/releasemanagement.html

  • No labels