Is there Build Priority Queues or locked build configuration?

I have a build configuration that depends on 3 other build configurations, but the order of how it builds matters, but those build configurations does not depend on each other.  It seems to me, that the order depends on speed.  The quickest build runs first and the longest build runs last.

Is there a way with multiple build configurations to running at the same time to set a priority in which ones gets to build first?

Also, is there a way to to prevent other build configurations from triggering if one particular build is running.  For example, I have the App and data built on a server build agent, but can only be run on a work station build agent.  What I did was I created a shared directory so that the workstation build agent can run it.  However, it can still sync new changelist and rebuild while it's running.   I want to lock it so that when the app is running, it will not sync or build i.e. it waits for the run to complete before syncing and rebuilding.

I guess an alternative solution which i got working was to deploy that built apps and data to the workstation when its done and run it locally instead of running it off the shared directory.

Any help would be much apprieciated.


Comment actions Permalink

Hello Lawrence,

  You cannot specify the priority of build configurations explicitly. In your case, I'd suggest to add inter-dependency for your 3 build configurations - this will ensure the order in which they are run. We have a request for explicit build queue priorities, though: TW-5279.

  We also don't have shared locks yet for build configurations, which would allow to prevent one build from running when another runs. The corresponding issue in our tracker is TW-3798 (the issue has a link to a plugin which provides alike functionality).

  Hope this helps,

Comment actions Permalink

Thanks Kirill, that helps.

We transitioned from Cruise Control after hearding about many advantages of using Teamcity to our project, however, with cruise control we used the priority queue to help our auto build run through.  I thought that I could achieve this by using Build Trigger Dependencies, however, I wasn't able to do it the same way to make a set of cascading build configurations, which one triggers the next, and if any of them fails the next build config will not trigger. The reason why it didn't work was because even if one of the build configuration fails, it still triggers the next one, even though it says "This build configuration will be triggered after a build of the build configuration it depends on has completed successfully."

Also using snapshot dependencies, it didn't behave the way I thought it would.  I thought that it would check if the current dependent build configs were built successfully before triggering, which it does, but it automatically triggers them, which may sometimes become repetitive when I have build trigger dependencies, which have them already built.   Is it possible to disable it from automatically triggering the dependent builds for dependency snapshot, and just check if they were successful?


Please sign in to leave a comment.