View Source

h1. Situation
Set up the build so that one agent runs only one build at a time. If all agents are occupied, the build should be waiting.

h1. Demonstration
# Check [grid tab|http://demo.pmease.com/grid/active_nodes] on the demo site, and there are two agents available.
# Visit [the control project|http://demo.pmease.com/overview/100], and hit the run button to trigger all its children (project1, project2 and project3) concurrently.
# Check the [queue tab|http://demo.pmease.com/queue]. Only two child builds will be running, each occupying one agent. The waiting child build will start to run when one of the running child builds finishes.

h1. Resolution
# Switch to [resources tab|http://demo.pmease.com/grid/resources] and a resource named "Agent" is defined with each agent providing one resource.
# Check master step definition of [child project1|http://demo.pmease.com/settings/102/steps], [child project2|http://demo.pmease.com/settings/103/steps], and [child project3|http://demo.pmease.com/settings/104/steps]. They all set to run on node with resource _Agent_. If resource requirement of the master step is not satisfied, the build itself will be put into waiting state.