Triggering for every change not all changes since last sync

(I am using Subversion)
Currently it seems TeamCity has a timer trigger to check for changes in the SVN repositories.
It then syncs the latest change to do testing.

So if a test takes 10 minutes and 5 poeple check in files while the test is running the next time all 5 changes will be tested.
If there is a failure then it is unclear who caused the failure....

Have I got TC triggering set up incorrectly or is this the normal behavior ?

What I would like is for each change to be triggered independently.

Comment actions Permalink

Well, you have very fast builds
If you want to minimize number of changes you can set quiet period on VCS triger settings page. For example, try to set it to 1 second. In this case once the change is detected a build will be added in the queue with changes that occured within this quiet period only (most likely this will be 1 change if quiet period is so small). But you should be aware that build queue may start to grow fast if changes occur often.

Read more about quiet period here:

Comment actions Permalink

There seems to be 2 different times I can set.
The one is in the Admin->VCS Root->Checking interval
The other is the Per project Trigger section's "Quiet period mode:"

My scenario is as follows.

A build/test takes 5 minutes.

5 people check in 5 changes with a time difference of 10s.

I would like 5 builds to be sceduled, each testing the code after the change.

Do I need to change the Admin->VCS Root->Checking interval to a very small value and change the  Per project Trigger section's "Quiet period mode:" ?

Comment actions Permalink

Well as I told there is no guarantee that each build will take one change only. But by setting small quiet period you can increase probability of this case. You can also decrease changes checking interval, but I would not recommend to set it to small value, because in this case TeamCity may start to check for changes too often and produce too much load on your VCS system.


Please sign in to leave a comment.