Я пытаюсь настроить набор конфигураций сборки в TeamCity 6 и пытаюсь смоделировать конкретное требование самым чистым способом, который возможен в TeamCity.
У меня есть набор приемочных тестов (около 4-8 наборов тестов, сгруппированных по функциональной области системы, к которой они относятся), которые я хочу запускать параллельно (я смоделирую их как конфигурации сборки, чтобы их можно было распределить по набору агентов ).
Исходя из моих первоначальных исследований, Похоже, что наличие конфигурации мета-сборки AcceptanceTests
, которая извлекает набор отдельных конфигураций приемочных тестов через зависимости снимков , должно помочь. Затем все, что мне нужно сделать, это сказать, что моя конфигурация сборки Commit
должна запускать AcceptanceTests
, и все они будут задействованы. Итак, допустим, у меня также есть AcceptanceSuiteA
, AcceptanceSuiteB
и AcceptanceSuiteC
Пока все хорошо (я знаю, что могу повернуть его наоборот и вызвать запуск конфигурации Commit
AcceptanceSuiteA
,
Есть ли способ в TeamCity смоделировать такую иерархию?
РЕДАКТИРОВАТЬ: Идеи: -
Дерьмовое решение состоит в том, что DeploySite
может установить маркер «флаг использования», а затем конфигурация AcceptanceTests
очищает этот флаг [после завершения AcceptanceSuiteA
и AcceptanceSuiteB
]. Тогда проблема заключается в том, что следующий DeploySite
в конвейере будет ждать, пока указанный шлюз не откроется снова (выполнение блокирующего ожидания в сборке кажется неправильным - я хочу, чтобы он был помечен как «еще не началось ', а не выглядело так, будто нужно много времени, чтобы что-то сделать). Однако такие вещи являются флагом и проверяют этот бит, это вид изменчивого состояния / запаха нестабильности, от которого я пытаюсь избавиться.
РЕДАКТИРОВАТЬ 2: если бы я мог программно изменить конфигурацию агента, я мог бы установить Требования к агенту так, чтобы требовать InUse = false , а затем установить флаг при запуске развертывания и сбросить его после запуска тестов