One Build For One Agent

Version 2 by Robin Shen
on Aug 30, 2011 07:48.


compared with
Current by Robin Shen
on Sep 18, 2011 13:54.


 
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 [demo project|http://demo.pmease.com/overview/100], and hit the run button three times to generate three builds.
 # The first two builds will be running, each occupying an agent. The third will be waiting. When one of two running builds finished, the third one will start to run.
  # 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 [resource tab|http://demo.pmease.com/resource] and a resource named "agent" is defined with each agent providing one resource.
 # Switch to [steps definition|http://demo.pmease.com/steps/100] of the demo project, and check the master step definition. The node selection property is set to run on the node with resource _agent_.
 # 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.
  # 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.