tags:

views:

35

answers:

2

I have a TeamCity (5.1.2) server with currently one agent. During the day, it is idle, unless somebody manually triggers a build.

I would like to trigger builds on VCS-Changes to have recent builds available. However, this should not clog the build server at times when people are scheduling manual builds/tests etc, since this has priority. Is there a way to add a build condition that looks at the queue length?

I could not find such a variable in the docs: http://confluence.jetbrains.net/display/TCD5/Predefined+Properties#PredefinedProperties-ServerBuildProperties

Is there something undocumented, or another reasonable heuristic for this scenario?

+1  A: 

Any particular reason you only have one Agent installed? TeamCity allows up to 3 Agents even on its free Professional Edition. We've got two Agents installed on one moderately powerful machine and had no issues.

Anyways I can't think of anything that I've come across with TC that will help, apart from perhaps the new Build Queue Priorities plugin...

Siydub
Because of the fact that many of the testing targets depend on some configuration on the build server which I don't have the time to replicate right now. I will be able to add at least one agent for building soon, but that will not be enough to build on every commit. Hence I was hoping to pick some low hanging fruit with this strategy.
Christoph
+1  A: 

As Siydub has said TeamCity allows for 3 build agents but these do not have to be on seperate machines. You could in the interim setup 1 or 2 aditional agents on the same machine.Multiple TeamCity Build Agents on one Server

Also if someone is going to trigger a build manually, they can bump their build to the top of the queue (It will build after the currently running build). You do this by clicking the ellipsis (...) next to the run button of the build you want to run. At the bottom of the dialog is an option to put the build at the top of the queue. Additional you can change the order or the queue builds on the build queue tab, this is done via drag and drop.

Bronumski
Thanks for the pointer to the fact that build agents can be on the same machine. I will try and see whether this helps performance in our case, but on a multi-core machine this seems plausible.
Christoph