Considering TeamCity is developing in a direction I like, while Parabuild is barely developing, I'd like to switch over to using TeamCity as my automated build system of choice. However, in testing, I've found a few problems and I was hoping I could get some answers to the questions that have cropped up. Before I begin, please note that my build farm is about 30 agents strong (10 WinXP, 5 Mac, 15 Linux) and I would often have about 20-30 different configurations (per platform) active at any one time, most of which are connecting to a Mercurial repository with dozens of branches.
- It seems like the VCS Root connector requires the TeamCity server to do an hg identify of any repo I try to configure before it agrees to let any agents run the checkout. This is causing problems where my master needs ssh keys that my agents already have. The fix could be as simple as "give the master the keys" but I don't see why I can't completely skip the step of the master trying to have a checkout directory and run an hg command when it already has agents allotted to the task. Is there a way to skip this requirement?
- I love the fact that I can use variables to set up my configurations to do things like, using the configuration name, determine a directory for a branch to be checked out to. This is made even easier with the configuration template model given. However, I do not understand why I cannot use these same variables within the VCS Root configurations. It's strange to me that it can be so easy to make a new configuration from a template and name it, but I then have to go and create a new VCS Root in order for it to end up doing what I want it to do. The optimal process should be: 1. Copy template 2. Rename appropriately 3. Done. Such that the name of the configuration would be enough to determine where the repo is located and which branch to check out from it. This kind of ease is one of the few reasons I'm still hanging on to Parabuild.
- I'm fairly certain the log isn't really displaying everything that's happening. For example, I currently have a hanging bug when I try to use one of our Mac agents to clone over http. If I do this manually from the Mac console, I can see exactly where it is hanging. However, if I do this in TeamCity, I only see a line being given from TeamCity rather than the straight stdout. Am I missing something here?
Thanks for fielding my questions!