Overview
Builds performed by your pulse™ server are executed by dispatching recipes to agents. Your pulse™ server has its own built-in agent, known as the master agent. You can also run agents on other hosts, known as remote agents. To connect these remote agents to your pulse™ server, you must add them via the "agents" section of the user interface.
Adding Agents
You pulse™ server has the built-in master agent configured by default. To add remote agents, you need to first install the agent software on the host machine, then add the agent to your pulse™ server. This process is decribed in the following sections:
Agent Management
Agent Availability
The agents configured on your pulse™ server are managed from the master host. The pulse™ server will regularly ping remote agents to determine their status. This allows pulse™ to determine when an agent is available to execute a recipe, and also detect from an agent error during a build. This loosely-connected model allows you to configure agents that are not always available and have them automatically detected when they are online.
Disabling Agents
If for any reason you know that an agent will be offline for some time, you can disable the agent using the "disable" link in the "agents" table. When an agent is disabled, no recipes will be dispatched to that agent. Furthermore, the pulse™ server will not ping disabled agents. When the agent becomes available again, you can enable it using the "enable" link.
Removing Agents
To remove an agent from your pulse™ server, use the "delete" link in the "agents" table. The agent software itself will have to be stopped and removed from the agent host separately.
Agent Configuration
To change the details for an agent, click the "edit" link in the agents table. The fields presented are the same as those when adding an agent (refer to Adding Agents for details). Note that when an agent is edited it will be reinitialised, terminating any recipe running on that agent.
Resources
Builds executed on agents require external resources, such as build tools, compilers and libraries. To allow pulse™ to locate these external dependencies, each agent has its own Resource Repository. By adding resources to the repository:
- Builds can run with the same configuration on different agents, even if the external dependencies are installed in different locations on each agent. Rather than refer to the dependency directly, the build configuration can refer to a named resource, and that resource can be configured appropriately for each agent.
- Your pulse™ server can match recipes to agents that are capable to execute them. Agents may have different tools available, and not all agents will be able to run all recipes. By configuring required resources for a build stage, you can ensure a recipe is only dispatched to a capable agent. Refer to Project Build Specifications for further details.
To learn more about resources, refer to the Resource Repository page.