This plugin integrates Gearman with Jenkins.
One problem with scheduling builds on Jenkins master (“MasterA”) server is that MasterA only knows about its connected slaves. If all slaves on MasterA are busy then MasterA will just put the next scheduled build on its queue. Now MasterA needs to wait for an available slave to run the build. This will be very in-efficient if your builds take a long time to run. So.. what if there is another Jenkins master (“MasterB”) that has free slaves to service the next scheduled build? Your probably saying “Then slaves on MasterB should run the build” then I would say "good thought!". However MasterB will never service the builds on MasterA's queue. The client that schedules the builds must know about MasterB and then schedule builds on MasterB. This is what we mean by lack of coordination between masters. This gearman-plugin attempts to fill the gap.
This plugin integrates Gearman with Jenkins and will make it so that any Jenkins slave on any Jenkins master can service a job in the queue. It will essentially replace the Jenkins build queue with the Gearman job queue. The job will stay in the Gearman queue until there is a Jenkins node (master or slave) that can run that job.
This assumes some familiarity with Jenkins, Gearman, Eclipse and Maven.
The Gearman plugin configuration should appear in the Jenkins global configuration page. Read help bubbles for help with configuration. You should test the connection to your Gearman Server before launching the workers.
Here is the typical:
Note - When changes are made to Jenkins projects, labels or nodes you must restart the Gearman workers. The current release does not dynamically adjusts to Jenkins changes.