- High availability(isish). When one master goes down the other master(s) will continue to execute builds however the in flight jobs on the down master will be lost.
- Slaves are (by default) always shared between masters. The only way to un-share is to offline or disconnect a slave.
- Horizontal scalability. Just continue to add more jenkins masters to distribute the load between masters.
- Gearman jobs can start a jenkins build
- Gearman jobs can stop or abort a jenkins build
- Gearman jobs can change a build description
- Gearman jobs can pass in parameters to jenkins builds
- Gearman jobs can automatically set a slave to offline after running a build
- Gearman is aware of Jenkins project status: meaning that gearman will register/unregister projects when the project is enabled or disabled.
- Gearman is aware of slave status: meaning that gearman will register/unregister slaves when a slave is set online/offline and connected/disconnected.
- Plugin reloads on jenkins restart: meaning that when jenkins restarts the gearman worker threads are automatically restarted and reconnect to a gearman server.