...
- Write access to the Akubra subversion git repository hosted at fedora-commons.org. This requires an administrator to add you to the akubra-committer LDAP groupat https://github.com/akubra/akubra.
- Write access to the org.akubraproject groupId in the snapshot and staging repositories hosted at oss.sonatype.org. If you don't already have this, you will need to:
- Sign up for a Sonatype OSS account
- Ask the previous release manager to request authorization for this account via the Akubra Project Hosting Ticket
Update Maven settings.xml
...
Make sure you're using a recent version of Maven. As of this writing, the latest was 2.2.1, and it worked fine. In particular, avoid version 2.2.0: it has a serious bug that affects deployments: MNG-4235.
...
Making a Snapshot Release
One Step
From a clean, up-to-date copy of trunk, run the following command:
mvn clean javadoc:jar source:jar deploy
The snapshot will be immediately available in the public Sonatype repository: http://oss.sonatype.org/content/groups/public
Making an Official
...
Release
Update KEYS
Make sure the KEYS file at the root of the source tree has your up to date public code signing key and signatures listed. If you don't yet have a code signing key, see Creating a Code Signing Key. When you are ready, append your key with the following command:
(gpg --list-sigs YourKeyID YourKeyId && gpg -a --export YourKeyIDYourKeyId) >> KEYS
Do a Dry Run
This step is not required, but performs a useful sanity check without committing any changes. From a clean, up-to-date copy of trunk, run the following command:
mvn release:prepare -DdryRun=true
...
Stage the Release
This step will set the version declared in the project's pom.xml files, commit the changes to trunkgit, tag the release, and finally, check in another trunk commit and push andother change that increments the next development version (e.g. x.y.z-SNAPSHOT) in the pom.xml files.
No Format |
---|
mvn |
...
Note: This may fail to compile part way through the process, complaining that an internal project dependency is not met. If this occurs, don't worry. Just run the following:
mvn install
mvn release:prepare -Dusername=YourSVNUsername -Dpassword=YourSVNPassword
If backing out of this step is needed for any reason, the following will restore the subversion repository and your working copy to the state it was previously in:
mvn release:rollback -Dusername=YourSVNUsername -Dpassword=YourSVNPassword
svn rm https://fedora-commons.org/svn/root/akubra/tags/akubra-x.y
Deploy Artifacts to Staging
This step will push all release artifacts to the staging repository.
...
release:clean
mvn release:prepare -Dtag=v0.4.0
# If the above fails due to missing dependencies,
# run it again after first running 'mvn install'
git pull
git checkout v0.4.0
mvn clean install
git checkout master
mvn release:perform
|
Verify and Promote Staged Artifacts
- Log into http://oss.sonatype.org/
...
- UI, click Staging in the left column, then select the staged repository on the right. It will open below. Right click on it and select Close.
- Download and test that the artifacts in staging are exactly as they should be once deployed to central.
If anything is incorrect, right click the staged repository and select "Drop". After the problem is resolved, you can re-deploy the artifacts to staging and verify them again. To re-deploy and already-tagged release:via mvn release:perform -Dtag=
...
v0.4.0
and verify them again.
If everything looks good, right click on the repository and select "Promote". The artifacts should be synced to central within an houra few hours.
Upload
...
Site to Github
The release:perform step should have created a static maven site for the release (including javadocs) in /tmp/akubra-site. This step will make that documentation available at the appropriate place on the fedora-commons.org website.
cd /tmp
mv akubra-site site
jar -cMf site.jar site
sftp fcrelman@fedora-commons.org
cd documentation/akubra
mkdir x.y
cd x.y
put site.jar
exit
ssh fcrelman@fedora-commons.org
cd documentation/akubra/x.y
jar -xvf site.jar
rm site.jar
exit
Verify the documentation is available at http://fedora-commons.org/documentation/akubra/x.y/site/
Archive the Release
...
http://akubra.github.com/akubra/
No Format |
---|
git checkout gh-pages
cp -a /tmp/akubra-site/ .
git add .
git commit
git push
|
...
Update the Wiki
Add release notes and update all links on this page.