I currently use Jenkins as my CI tool and would like to evaluate TeamCity. Granted that Jenkins is a free tool so I'm more interested in the TeamCity Professional version which is free. Now in Jenkins I have one Master server and a couple of slaves machines. I have UnitTest Server and an IntegrationTest Server as slaves the main compile runs in the Master.
Note: I have a total of 2 Master Servers (one for a Main trunk and one for a Branch), two UnitTest Servers and two IntegrationTestServers.
For TeamCity I read it comes with 3 build agents, I assume the build agents are the ones that checks for any changes in code but I could be wrong. Can someone please tell me if this is an equivalent of a slave in Jenkins? Meaning do I need to have a build agent on my UnitTest Server and another on my IntegrationTest Server? The UnitTest Server and IntegrationTest servers purpose is just to run the Unit Test using Dotcover and the Integration test using dotcover as well.
I attached a diagram to show what I currently have.
Master - produces the artifacts
Slaves - consumes the artifacts and runs the test.