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

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

Я не хочу, чтобы Build Config A и Build Config B запускались одновременно. Это потому, что они используют один и тот же ресурс, к которому нельзя получить доступ одновременно. Однако каждая конфигурация сборки запускается отдельным агентом, поэтому они могут работать одновременно.

Вместо этого я хотел бы, чтобы одна конфигурация сборки при запуске ждала завершения другой, если она запущена. Например, если Buig Config B начинает работать, но Build Config A уже запущен, то B подождет, пока завершится A, и затем B запустится.

Я не думаю, что зависимость снимка будет работать, потому что это предполагает, что один конфиг имеет зависимость от другого, что в моем случае неверно.

4b9b3361

Ответ 1

Для быстрого и грязного просто введите правило на вкладке совместимых агентов для проекта. Чтобы они работали над именем агента, содержащим xxx (независимо от того, что это такое), тогда эти сборки могут работать только на этом агенте и никогда не будут запускаться одновременно.

Ответ 2

Keith, есть два плагина, которые могут вам помочь: Первый - Groovy плагин. Он имеет функциональность создания блокировок имен по всем проектам.

Второй - TeamCity.SharedResources. Он имеет функциональность определенных ресурсов и блокирует их с помощью блокировок чтения и записи. Однако ресурсы, определенные в этом плагине, определены для каждого проекта. Мы активно развиваем этот плагин, поэтому вы можете посмотреть его страницу в наш трекер

Ответ 3

В новейшей версии TeamCity вы можете настроить этот параметр. Перейдите в Edit Configuration Settings → Edit Configuration Settings и установите параметр:

Ограничить количество одновременно запущенных сборок (0 - не ограничено)