Запускать последующую сборку один раз после нескольких параллельных сборок в TeamCity

У нас есть более 150 проектов, которые я собрал, реконфигурировал и оптимизировал в несколько конфигураций TeamCity с несколькими агентами сборки, чтобы попытаться улучшить производительность нашего сервера сборки, который в настоящее время собирается очень последовательно.

Сочетание технологий (Web, dotNet, VB6 и COM +) и системной архитектуры означает, что существуют различные этапы (конфигурации), которые теперь могут выполняться параллельно, но которые необходимо объединить в дальнейшем.

Это очень упрощенный сценарий зависимости, но представитель проблемы, которую мы имеем ....

A -> B -> Collate (-> Deploy)
A -> C -> Collate (-> Deploy)

Проблема заключается в том, что, если внести изменения в A, это приведет к тому, что B и C сработают, что приведет к тому, что шаги Collate (и Deploy) будут выполнены дважды, несмотря на то, что это общий триггер в A. Как я уже сказал, это упрощение реального набора из почти двадцати конфигураций, и частые перестройки влияют на повышение скорости.

Может ли кто-нибудь предложить какой-либо способ, которым я могу определить тот факт, что оба B и C сработают в результате A, и заставить шаг Collate ждать завершения обоих B и C, прежде чем запускать шаг Collate? Очевидно, что изменение в B или C должно быть в состоянии вызвать Collate независимо.

Ответы на вопрос(1)

Ваш ответ на вопрос