Skip to content

Agent/Controller Lifecycle

Build agents are cattle — disposable and reproducible from an image or provisioning script; the controller is not — it holds state that deserves backups and change control.

The controller carries job history, credentials, and plugin configuration — state that would be expensive to lose and doesn’t rebuild itself. Agents carry none of that; if one is misbehaving, replacing it should be no more eventful than restarting a container. Treating agents as precious, hand-tuned machines is a common way for a Jenkins setup to become fragile and hard to reproduce.

Related