TeamCity architecture comprises of the server and a "farm" of Build Agents which run builds and make the Build Grid. The server only distributes the tasks of running builds with developer's changes on the company's Build Grid and provides the web UI, and all the job on running tests under different platforms, test suites and environments, performing code duplicates search and code analysis is performed on the Build Agents.
Multiple Build Agents
Build Agents are computers with installed agent software capable of running builds which altogether make up the Build Grid.
As developers integrate their work results into the Version Control System, the TeamCity server distributes them to the Build Agents automatically, so there is no need to install version control software on all of your build agents.
Load Statistics Matrix
The Matrix provides you with a bird-eye view of the overall Build Agents workload for all finished builds during the time range you select.
Taking a look at the build configurations which are compatible with the particular agent you can adjust the hardware resources usage more effectively and fill the discovered productivity gaps, i.e. assign the build configuration to particular Build Agents and significantly lower the idle time.
Trigger a Build on All Compatible Agents
The feature can be useful for simultaneous start of a build on several agents, for example, in the following cases:
- run a build on different platforms (you can set up a configuration, and specify a number of compatible build agents with different environments installed)
- run a build for agent maintenance purposes (you can create a configuration to check whether agents work properly after environment upgrade/update)
Build Agents' Workload Statistics
TeamCity provides a number of visual metrics, namely, statistics of Build Agents' activity and their usage during a particular time period
We are sure you'll find this feature helpful in:
- your daily administration activities for lowering your company's network workload
- finding and eliminating the gap between the most frequently used computers and those which are often idle
- reducing the cost of your hardware resources ownership
Agents Management UI and Security
After the installation of Build Agent software, the Build Agents are primarily managed from the web UI.
All connected Build Agents are automatically listed in the web UI and authorized manually using the web UI.
The Agents tab provides information on the Build Agents, their availability, current status and properties.
A "CPU index" displays the results of bundled CPU benchmark and can provide you with a hint on how fast the build agent machine really is.
You can now reboot a Build Agent machine right from the web UI.
When you disable an agent you can now specify a timeout to enable it automatically.
Build Agents upgrade themselves automatically saving the system administrator's time and lowering the cost of TeamCity ownership.
TeamCity's Build Agents can have different platforms, operating systems and pre-configured environments that you may want to test your software on. Different types of tests are run under different platforms simultaneously so the developers get faster feedback and more reliable testing results.
No VCS setup on Build Agents
To be capable of getting project sources, Build Agents are not required to have any pre-configured Version Control System on them.
Build Agents don't need to have any VCS systems installed on them as the sources are checked out on the server-side. Thus, lesser effort is required to maintain the company's infrastructure.
Assigning Builds to Particular Agents
You can explicitly limit the build configurations which can run on a particular Build Agent. Navigate to the Compatible Configurations tab on the Build Agent page to specify the desired run policy and build configurations.
Build Start Time Estimation
In the Build Queue tab, Time to start column you can see the builds you have in queue and their estimated start time.
Time in Build Queue Statistics Chart
To help you evaluate trends in your Build Agents' performance, TeamCity
3.0 provides a special chart showing the time the build of particular build configuration spent in the Build Queue. This information is useful in deciding when additional build agents should be installed.