Hudson is released via https://oss.sonatype.org/
Log into Release VM
A Hudson release VM is setup at grid.sonatype.org. These are the release steps
- ssh -p 2022 hudson@grid.sonatype.org (Public key based login)
- Check out the code - git clone git@github.com:hudson/hudson.git
- cd hudson
Stage the release
- export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
- mvn release:prepare -DpushChanges=false
- Remove all build targets
rm -rf `find . -name "target" -print`
- mvn release:perform -DlocalCheckout=true
QA Process and release
- Go to https://oss.sonatype.org/index.html and login. Click on the close button to push changes to staging as explained here
- Work with QA to pick the staged version and verify the build
- Once QA certifies, click on the release button to release the version to Maven Central
Set War downloads
Create Redhat RPM
Create OpenSuse RPM
Create Debian Package
- Before creating the debian package change <hudson-src>/packaging/debian/changelog to latest version and checkin the code
- Clone a new copy of hudson source in the Ubuntu releaes VM.
- Create Debian Package using source <hudson-src>/packaging/debian/build.sh (in a Ubuntu VM)
- Copy the Debian Package to <hudson-ci-ROOT>/downloads/debian
- Link latest -> <latest-debian-package-release>
- Gunzip the Packages.gz at <hudson-ci-ROOT>/downloads/debian and modify its contents to info about latest release. gunzip the file back
(Note use to create the checksums use "openssl sha1 <filename>", "openssl md5 <filename>", "openssl dgst -sha256 <filename>")
- Upload Debian Package to http://java.net/projects/hudson/downloads/directory/debian
Modify Update Center JSON
- Edit the <hudson-ci-ROOT>/update_center.json to modify the war version to the latest version
Push the sources and tag from the release workspace for next release.