Page tree
Skip to end of metadata
Go to start of metadata

Overview

Builds performed by your pulse™ server are executed by dispatching recipes to agents. Your pulse™ server is set up by default with its own local, 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 "administration" section of the user interface.

It is possible to run multiple agents in a single pulse™ master or agent process. To do so, configure multiple local agents (master) or multiple agents with identical host and port settings (remote). A convenient way to do this is by using a common template to share the host and port settings.

Adding Agents

Your pulse™ server has the local 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:

Section

Description

Obtaining Agent Packages

Describes where to obtain pulse™ agent packages.

Installing Agent Packages

Describes how to install the agent software on a host machine.

Agent Servers

Describes how to start, stop and configure the agent server process.

Changing the Agent Port

Describes how to change the port that an agent listens on.

Agent Configuration

Describes how to configure the agent using the server configuration file.

Agent Security

Describes how agents are secured so that they only accept commands from the master server.

Agent Management

Adding Agents

To allow builds to be dispatched to remote agents, they must be added to the master pulse™ server's configuration. Agents may be added from the "agents" tab in the "administration" section of the user interface. Agent configuration is templated, allowing you to share common configuration across several agents. To add a new agent, select the hierarchy view for the parent template (choose the "global agent template" for simple cases) and click "add new".

Multiple Agents Per Host

Note that multiple agents can be run on a single machine within a single pulse™ master or agent server process. To enable this, configure multiple agents with the same host and port settings, preferably using a common template.

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 drop down menu next to the agent name on the "agents" page. 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 in the same menu.

You can request that an agent be disabled while a build is running. In this case pulse™ will mark the agent to disable automatically when the build completes. To disable the agent immediately, mark it for disable on idle and then click "disable now" to forcefully terminate the running build and disable the agent.

Removing Agents

To remove an agent from your pulse™ server, use the "delete" link on the agent's hierarchy view. 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, navigate to the agent's hierarchy view and either switch to the "configuration" tab or click the "configure" link. Note that when the location of an agent is edited it will be reinitialised, terminating any recipe running on that agent.

Permissions

Agent permissions may be granted to user groups on an agent-by-agent basis. Refer to the Agent Permissions page for further details. Refer also to the Understanding Templates page for information about the interaction between templates and permissions.

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.

Resources are configured for each agent in the administration section of the user interface. To learn more about resources, refer to the Resource Repository page.

  • No labels