Jump to: navigation, search

Hudson-ci/features/Load Plugins Without Restart

Load Plugins Without Restart

The need to restart Hudson for routine system administration adversely affects the perceived stability of the server. Even a soft restart, with adequate warning, interrupts build flow, ability to configure jobs, etc. Particularly with the new Team feature, restart on behalf of one team adversely affects all the others.

There are several cases where administration requires restart - for example, a configuration change in a cascaded job is not propagated to jobs that should inherit the change until Hudson is restarted - but the most common cases are plugin loading and update. The latter is much more difficult and won't be addressed in 3.1.0.

Initial plugin loading will probably work for most plugins as long as plugin dependencies are properly satisfied, although there may be cases where plugins expect Hudson not to be running when they initialize.

Initial plugin loading will be presumed safe unless the plugin indicates otherwise.

Manifest Directives

The following directive will be recognized in the plugin's MANIFEST.MF file:

Support-Dynamic-Loading: true|false

If the manifest of a plugin or any plugin it depends on contains Support-Dynamic-Loading: false, loading the plugin will require restart. Otherwise (directive is absent or specifies true) the plugin will be loaded without restart.