This page documents the necessary steps to make sure you get a successful hudson upgrade.
Since Hudson is used by many eclipse projects, it is a good idea to send an email to the cross-projects-issues-dev mailing list, notifying them of the upgrade. This gives all projects advanced warning in case there are any issues that may occur. Give this notice at least 3 days before doing the actual upgrade of the system.
- Manage Hudson->Prepare for Shutdown - This sets the notification that the server will shut down and keeps any new jobs from running.
- If you have an option to Automatically Upgrade or Download the War file, select the Automatically Upgrade option. This eliminates any human errors that can occur (i.e. deploying or installing war files wrong).
- After the WAR has been updated, if there are any plugins that need to be upgraded now is a good time to do this as well. Select the plugins with updates and let hudson install.
- Check to make sure that all Jobs have completed. If not, wait until the jobs are finished.
- Follow the steps on Managing Hudson. These steps how to restart the server.
Post Upgrade Verification
You should do a visual verification on various jobs to make sure that everything looks correct. If there are build histories missing, or plugins that do not seem to be working, you may need to re-install these. Starting with version 1.337 of Hudson, Hudson will try and get all dependencies for the plugins as well. This eliminates many of the plugin problems that occured in the past due to missing dependencies.
You may have to repeat the upgrade of plugins, shutdown, restart steps several times to get all dependencies worked out. However, with 1.337 and above, this should be mitigated with the new depenency manager installation.
Ideally there should be handful of jobs that can be run to do a Smoke Test of the upgrade. These jobs should test a variety of functionality. This smoke test or sanity test can be used to measure how well the upgrade process went.
Send an email to the cross-project-issues-dev mailing list, letting the list know about the upgrade completion, and a list of any new or noteworthy changes. Include a link to the most recent Hudson Change log so that others can review what has changed that may or may not affect them.
Projects that use Hudson, should do a santity test to make sure their builds are working as before. If not, then a bug with a reference to the upgrade request bug should be created.
How often should we Upgrade?
Hudson follows a very agile development process. It releases new versions once a week. This means that bug fixes and enhancements are available every week. However, unless we are particularly having problems or there are some major new functionality, we should consider at least once a month checking for an upgrade. Usually you may want to wait a few days to make sure there are no major bugs that have cropped up. It is a good idea to monitor the Hudson User mailing list.
Times NOT to Upgrade
There are some critical times during the eclipse development process that we should try to avoid doing an upgrade on the hudson server.
- During Milestones M6 - Release Candidate 4 of the release train. Any upgrades should occur after the release train has been published.
- During the last week of a milestone.
- Need some better guidelines around here...whose milestone, each project may have different milestones.