|You are viewing documentation of TeamCity 6.x, which is not the most recent released version of TeamCity. Please refer to the listing to choose another version.|
When a build agent registers on the TeamCity server, it provides information about its configuration, including its environment variables, system properties and additional settings specified in the buildAgent.properties file.
The administrator can specify required environment variables and system properties for a build configuration on the build configuration's Agent Requirements page. For instance, if a particular build configuration must run on a build agent running Windows, the administrator specifies this by adding a requirement that the os.name system property on the build agent must contain the Windows string.
If the properties and environment variables on the build agent do not fulfill the requirements specified by the build configuration, then the build agent is incompatible with this build configuration. The Agent Requirements page lists both compatible and incompatible agents.
Sometimes the build configuration may become incompatible with a build agent if the build runner for this configuration cannot be initialized on the build agent. For instance, .NET build runners do not initialize on UNIX systems.
There are also implicit requirements. For instance, if you define a build runner parameter as a reference to another property, like %env.JDK_1_6%/lib/*.jar, this will implicitly add an agent requirement for the referenced property, that is, env.JDK_1_6 should be defined. To define such properties you may either specify them in the buildAgent.properties file, or set the environment variable JDK_1_6 on the build agent, or specify the value on the Properties and environment variables page (in the latter case, the same value of the property for all build agents will be used).