Подтвердить что ты не робот

Как предотвратить параллельные сборки для каждой конфигурации сборки несколькими агентами сборки

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

Чтобы повысить пропускную способность, я установил второй агент сборки на том же компьютере, что если запуск сборки запускается, скажем, Build Agent 1 и он занят за 20 минут, а кто-то из другого проекта внесет изменения, тогда Build Agent 2 может выполнить сборку для другого проекта, не дожидаясь завершения текущего выполнения сборки.

Все было хорошо, пока две последовательные проверки не привели к тому, что оба компонента Build Agents запускали сборку для одной конфигурации сборки параллельно. Поскольку некоторые ресурсы являются общими, каталоги IIS и базы данных, я не хочу, чтобы одна конфигурация сборки выполнялась параллельно с обоими агентами сборки.

Как я могу гарантировать, что сборка не запускается, если в настоящее время выполняется сборка для этой конфигурации сборки для другого агента сборки?

Один из способов, по-видимому, включает в себя переменные среды и обеспечение разделения 50/50 Build Agent с точки зрения совместимости конфигурации сборки, но это кажется немного неуклюже.

4b9b3361