This plugin enables administrators to reserve executors to be used outside Jenkins.
It is useful for making Jenkins aware of activities outside Jenkins — such as when you are using people's workstations as slaves (which need to be available for interactive use during day time) or when the system goes through a periodical backup, which reduces the I/O capability of the system.
By default, the reservation is specified in a cron-like syntax (but as you see below, this is an extension point.)
More specifically, you specify (1) an integer to decide the number of executors reserved (or special token "*" to indicate all the executors of the node), (2) a cron syntax to decide when a reservation starts, (3) number of minutes that decide the duration. So for example, to reserve 2 executors between 8am-5pm weekdays, you'd write the following:
# 5pm - 8am = 9hours = 540mins 2 : 0 8 * * 1-5 : 540 # or alternatively devide it up to 9 times 1hr reservation 2 : 0 8-16 * * 1-5 : 60
This plugin provides an extension point that allows other plugins to control the reservation programmatically (or by exposing it in a different UI.) For example, one might consider controlling reservations via existing calendar system such as Microsoft Exchange, or provide a simpler UI for common cases.
- Support '*' as the executor size to indicate "all the executors of the computer"
- Add form validation
- Implemented an extension point so that upcoming reservations are considered for making scheduling decisions
- Initial version