When a build is triggered (either automatically or manually) TeamCity processes it on any available agent whose environment is compatible with the build configuration.
How does it tell a compatible environment?
posted 9 years ago
On each build agent you can setup a number of custom properties, like "use.mysql.db" on agents with installed MysqlDB, or "hasDotNet1.1". Moreover, there are predefined properties like os.name .
For each build configuration you can specify build agent requirements of different type. For instance, you can specify requirement "os.name startsWith 'W'" and this build configuration will run only on Windows-based build agents. If you specify requirement "exists hasDotNet1.1", this build configuration will run only on build agents where property "hasDotNet1.1" is specified in build agent properties.
Build configuraion requirements for build agents are specified in Web-based administration interface. Build agent properties are edited manually in buildAgent.properties file, but we plan to allow edit them on the Web as well.
Kirill Maximov<br />JetBrains, Inc.<br />http://www.jetbrains.com<br />"Develop with pleasure!"