Single Use Slave

ID: singleuseslave
Warning Icon

Deprecated:This plugin has been marked as deprecated. In general, this means that this plugin is either obsolete, no longer being developed, or may no longer work.

More information about the cause of this deprecation, and suggestions on how to proceed may be found at

This plugin will allow taking slaves with specific labels offline when a job completes

What it does

This plugin will mark nodes as offline when a job completes on them. It will do this only for nodes with one of the labels specified in the Jenkins global configuration. One or more labels may be specified in the global configuration.

This plugin is intended to be used with external tools like Nodepool, which has the ability to spin up slaves on demand and then reap them when Jenkins has run a job on them. This plugin is needed because there is a race condition between when the job completes and when the external tool is able to reap the node. This plugin addresses the race condition by intercepting the build complete notifications generated internally to Jenkins and offlining relevant nodes before another job can be schedule on them.

How to use it

Go to "Manage Jenkins", then "Configure System".  You'll find a Single Use Slave section as shown below.  The single field can be populated with one or more slave labels that should be offlined when a job completes on them.  Slaves with matching labels will be taken offline if the job is successful or not.