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

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

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

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

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

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

18
задан Community 23 May 2017 в 10:29
поделиться