Build Agent
A TeamCity Build Agent is a piece of software that actually executes a build process. It is installed and configured separately from the TeamCity server. An agent can be installed on the same computer as the server or on a different machine (the latter is a preferred setup for server performance reasons).
TeamCity server monitors all the connected agents and assigns queued builds to the agents based on Agent Requirements.
To create a build, TeamCity tries to select the fastest agent based on the history of builds of a build configuration which ran on the particular agent. As the available build runners depend on environment where agent is running, TeamCity chooses an agent having required a build runner.
In TeamCity, a build agent can have following statuses:
Status | Description |
---|---|
Connected/ Disconnected | An agent is connected if it is registered on the TeamCity server and responds to server commands, otherwise it is disconnected. This status is determined automatically. |
Authorized/ Unauthorized | Agents are manually authorized via the Agents. Only authorized build agents can run builds. The number of simultaneously authorized agents cannot exceed the number of agent licenses in your license pool. When an agent is unauthorized, a license is freed and a different build agent can be authorized. Purchase additional licenses to expand the number of agents that can concurrently run builds. When a new agent is registered on the server for the first time, it is unauthorized by default and requires manual authorization to run the builds. |
Enabled/ Disabled | Agents are manually enabled/disabled via the Agent Details. The TeamCity server only distributes builds to agents that are enabled. Disabled agents can still run builds, however they must be assigned to them manually. This feature is generally used to temporarily remove agents from the build grid when they consistently have problems during the build process. |
All agents connected to the server must have unique agent name.
Only users with certain roles can manage agents. See role and permission for more information.
For a build agent configuration please refer to Build Agent Configuration section.