Project Plan For Hudson, version 3.0.0

Introduction

This plan covers the transition of the core of the Hudson Project into Eclipse and covers both non-Eclipse and Eclipse versions for completeness. Once 3.0.0

Release Deliverables

The Hudson deliverables for any particular release are are:
  • The Hudson WAR file representing the actual Hudson tool
  • O/S Specific installers for the WAR file
  • Key Plug-ins compatible with Hudson 3.0 (maintained and down-loaded on demand from outside of Eclipse) including:
    • Birt Support for Charting
    • JNA Native Access Support
    • XPATH Provider
    • Groovy Support
    • GIT Source Control
    • Subversion Source Control
    • CVS Source Control
    • SSH Slave Management
    • Rest Support
    • Legacy Maven 2 support
    • Maven 3 support
  • Infrastructure and web-site updates as required

Table of Contents

Release Milestones

The Milestones below represent the transition period leading up to the first Eclipse release. The dates for the regular Hudson production releases are predictable. The dates for the Eclipse-Hudson releases will be dependent on the IP process around the initial code contribution.
Hudson 2.1.18/30/2011
Regular Hudson production release (5 week cycle) - Non Eclipse
Hudson 2.1.210/06/2011
Regular Hudson production release (5 week cycle) - Non Eclipse
Hudson 2.2.012/09/2011
Regular Hudson production release (5 week cycle) - Non Eclipse
Eclipse-Hudson 3.0.0M001/15/2012
Initial internal proving milestone release of Hudson from the Eclipse Infrastructure
Eclipse-Hudson 3.0.0M102/17/2012
Internal milestone 1 for Hudson 3.0.0 release
Hudson 2.2.105/31/2012
Regular Hudson production release (delayed) - Non Eclipse
Eclipse-Hudson 3.0.0M204/20/2012
Internal milestone 2 for Hudson 3.0.0 release
Eclipse-Hudson 3.0.0M306/19/2012
Internal milestone 3 for Hudson 3.0.0 release
Eclipse-Hudson 3.0.0M407/30/2012
Milestone 4 for Hudson 3.0.0 release - (Feature Freeze)
Eclipse-Hudson 3.0.0RC208/21/2012
Release Candidate milestone for Hudson 3.0.0
3.0.012/21/2012
First full production release of Hudson (3.0.0) at Eclipse
3.0.1
First regular patchset release
3.1.0
Next feature bearing release (for planning purposes)
Schedule for Hudson 3.0.0 releases is based on monthly bugfix patches (patch release) and quarterly feature bearing releases (minor release). Hudson version numbering is as follows [Major Release].[Minor Release].[Patch Release]

Table of Contents

Target Environments

Hudson is a Java EE application which will run a variety of Java EE containers. The following distributions are targeted:
  • Generic (WAR) distribution for any O/S
  • Ubuntu / Debian
  • openSUSE
  • Oracle Enterprise Linux
  • Red Hat / Fedora / CentOS
  • Generic WAR + Common Plugins distribution for any O/S

Internationalization

The Hudson project endevors to support multiple languages and has the infrastructure in the code to support translations given contributions from the community.

Table of Contents

Compatibility with Previous Releases

The Hudson project aims to ensure plug-in compatibilty with earlier releases, however, upgrade to Hudson 3.0.0 from an earlier version is a significant step for organizations and should be undertaken with a suitable job and environment backup strategy in place.

Table of Contents

Themes and Priorities

These are the current themes in play for the Eclipse 3.0.0 realease and next few beyond that as discussed at the public Hudson meeting on Aug-15 2011. The intent is to revisit and revise these and prioritize as appropriate once Hudson 3.0.0 is released.

Performance / Memory Management

We need to review the way that Hudson holds it's internal Memory model to optimize the memory usage on large, enterprise systems

Improved Class-loading Strategy

We need to develop a more sofisticated classloader infrastructure that can allow plugins to ship with their full set of requirements, rather than having Hudson Core polluted with JARs that it does not use directly

Project Visualization

Add diagrammatic visualization of a project's build steps and provision for cross project orchestration

UI Technology Modernization

Migration away from Jelly onto a more standard technology such as Facelets and or JSF and clean up and modernization of the UI generally.

Enterprise Support

One of the stated aims of Hudson is to provide the power and stability demmanded of a tool that is going to be used in a large enterprise environment. Several additional feature areas bolster this aim:
  • Performance
  • Improvements of LDAP, Active Directory and other SSO technologies
  • Tools to manage complex build pipelines e.g. cascading project setup inheritance and others
  • Support for text markup beyond html to improve security and usability

More Native Installer Support

Although platforms such as Windows and Mac OS/X are supported very well using the generic WAR file install it would be good to produce a set of native installers for these platforms as well

Enterprise Groups

An additional feature area in the enterprise space, but large enough to justify a theme of it's own. This will cover the whole area of resource management in an single enterprise wide instance of Hudson that is used by multiple teams with different resource constraints and security requirements. We'll need to consider job partitioning, resource throttling and many other features related to this

Table of Contents

view raw xml of project plan
from project meta-data key "projectplanurl"