Build Trigger Traffic Jams

Build Trigger workflow

SWF Build -> CSS Build -> .NET Build-> Unit Tests -> Deploy

The SWF build is only concerned with changes to .as/.mxml files
The CSS build is concerned with changes to *.scss files
The .NET build is concerned with any change, excluding .as, .mxml and .scss files

Is it possible to make TeamCity be smarter about queuing?

For example, if the SWF build gets run, on successful build, it will trigger the CSS build.   Lets say some arbitrary measurement of time passes, 3 minutes for this example.   A developer decided to commit the *.scss files he has been working on.   This will cause a second CSS build to be triggered.  It is possible that this CSS build starts before the one that will be triggered from the SWF build finishes.

Because of build triggering, this sends our TeamCity spiraling out of control.  The SWF finishes and queues the CSS build, even though someone checked in code, and the CSS is either already building or has finished building.    I don't know that I have actually seen the same build running on two different agents at the same time, but it would not surprise me with our current problems.

Do you have any guidance on how we can minimize the "trigger traffic jams?"

1 comment
Comment actions Permalink

Hi Jeff

Snapshot dependencies solve such kind of issues. They guarantie correct build order, and use the same source revision in all the builds.

Michael

0

Please sign in to leave a comment.