We have more than 150 projects that I put together, reconfigured and optimized in several TeamCity configurations with several build agents in order to try to improve the performance of the build server, which is currently building very consistently.
The combination of technologies (Web, dotNet, VB6, and COM +) and system architecture means that there are various stages (configurations) that can now be performed in parallel, but which need to be combined further down the track.
This is a very simplified dependency scenario, but it presents a problem with us ....
A -> B -> Collate (-> Deploy) A -> C -> Collate (-> Deploy)
The problem is that if change A is made, this will trigger B and C, which will cause the Collate (and Deploy) steps to be executed twice, even though they are a common trigger in A. Like me Already said, this is a simplification of the real set of almost 20 configurations, and frequent adjustments affect the improvement of speed.
Can anyone suggest any way so that I can identify the fact that both B and C will be called as a result of A and take the Collate step to wait until both B and C are complete before the Collate phase starts? Obviously, a change to B or C should be able to run Collate independently.
source share