У меня есть много конфигураций сборки в TeamCity, каждая из которых обслуживает большой проект.В прошлом, если сборка началась, Агент сборки мог быть занят до 20 минут!
Для повышения пропускной способности я установил второй Агент сборки на той же машине , что, еслизапуск сборки начинается, скажем, агентом сборки 1, и он занят в течение 20 минут, и кто-то из другого проекта вносит изменения, тогда агент сборки 2 может выполнить сборку для другого проекта, не дожидаясь завершения текущего запуска сборки.
Все было хорошо, пока две последовательные проверки не привели к тому, что оба Агента сборки запустили сборку для одной конфигурации сборки параллельно.Поскольку некоторые ресурсы являются общими, каталоги и базы данных IIS, я не хочу, чтобы одна конфигурация сборки работала на обоих агентах сборки параллельно.
Как я могу убедиться, что сборка не запущена, если сборка выполняется в данный момент?выполняется для этой конфигурации сборки на другом агенте сборки?
Один из способов , по-видимому, включает переменные среды и обеспечивает 50/50 разделение агентом сборки с точки зрения совместимости конфигурации сборки , но это кажется немного неуклюжим.