Триггеры сборки TeamCity для исключения некоторых каталогов

У меня есть правило в триггерах сборки, чтобы не запускать сборку, если фиксация происходит в каталоге:

Вот структура каталогов нашего кода

web      => Web Application code. Should trigger Build1
api      => Backend Code. Should trigger Build2

Когда в веб-файлах происходит коммит git, я просто хочу запустить Build1, а не Build2. Итак, я настроил правила триггера следующим образом:

+:.
-:api/**

Это работало в течение пары часов, но я начал видеть, что обе сборки запускаются при регистрации файлов API и наоборот.

Я также пробовал следующие конфигурации, и ничего не работает.

Конфиг2:

-:api/**

Конфиг3:

+:web/**

Конфиг4:

-:**
+:web/**

Конфиг5:

-:.
+:web/**

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

Это происходит как на Teamcity 8, так и на 9


person Rahul    schedule 12.03.2015    source источник
comment
Вы используете Checkout для агента? По-видимому, в Git есть ограничения на правила извлечения, и вы можете сопоставить весь репозиторий только с каталогом (confluence.jetbrains.com/display/TCD9/Git#Git-Limitations).   -  person tspauld    schedule 14.03.2015
comment
Я оформляю заказ через агента, но у меня нет правил оформления заказа   -  person Rahul    schedule 14.03.2015


Ответы (2)


Вам не нужны подстановочные знаки, и если вы используете правило +, вам не нужно правило -:.. Это должно работать для сборки 1:

+:web/**

Это должно работать для сборки 2:

+:api/**
person tspauld    schedule 13.03.2015
comment
Пробовал, все равно запускаются 2 билда - person Rahul; 13.03.2015

Я предполагаю, что вы знаете об этом сайте: https://confluence.jetbrains.com/display/TCD9/Configuring+VCS+Triggers#ConfiguringVCSTriggers-VCSTriggerRules

Вы можете начать играть с одним файлом, пытаясь понять, запускает ли он по-прежнему обе сборки.

person Krzysztof Wolny    schedule 08.06.2015