One Build For One Agent

Version 6 by Robin Shen
on Sep 18, 2011 13:25.


compared with
Version 7 by Robin Shen
on Sep 18, 2011 13:51.


Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 2 changes. View first change.

 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_build_agents] 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. Build of the control project will trigger all its children concurrently.
 # Check the [queue tab|http://demo.pmease.com/queue], and only two child builds will be running. The each occupying an agent. The third will be waiting. When one of two running builds finished, the third one will start to run.
  # 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.
 # Switch to [steps definition|http://demo.pmease.com/settings/100/steps] of the demo project, and check the master step definition. The node selection property is set to run on the node with resource _agent_. If resource requirement of the master step is not satisfied, the build itself will be put into waiting state.
 # This also holds true for builds from different configurations as long as their master step is defined to run on node with the _agent_ 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_.
  
 {note}
 # If resource requirement of the master step is not satisfied, the build itself will be put into waiting state.
 #
 {note}