How TeamCity decides to spin up an ec2


Can a teamcity developer explain the process teamcity decides on whether or not to spin up an ec2 instance?  Do you guys have any sort of disagram on the decision making teamcity does before it decides I should spin up an ec2?  Does it take into account CPU rank from the last time an ec2 spun up if you tell it to run on the faster agent via "run custom build configuration"?


1 comment
Comment actions Permalink


TeamCity knows all parameters for every configured EC2 image.
Based on those parameters TeamCity can compute compatibility of a build fonfiguration to a given EC2 image.
TeamCity checks build queue periodically.
TeamCity starts an instance of EC2 image If there are no matching idle connected agents and there are some builds in queue that are compatible to an EC2 image.
TeamCity may also start newly added  EC2 image once to fetch it's parameters.

Snapshot of EC2 image parameters does not contain CPU rank, thus it will not be taken into account. (please feed free to post an issue for that).
At the moment EC2 agent instance is started and connected TeamCity knows it's CPU rank and takes it into account (in exactly the same way as it done for real agents)
Note, TeamCity has a build configuration time estimates that are taken into account too.


Please sign in to leave a comment.