TeamCity VCS Триггер, когда несколько Корней VCS присоединены к Конфигурации сборки

У меня есть Конфигурация сборки в TeamCity (TeamCity Professional 8.1.5 (сборка 30240)) с двумя присоединенными корнями VCS. Корни VCS указывают на отдельные репозитории.

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

Добавлено правило триггера: "+:root=VCSId_ProjectA:**", чтобы изменение, внесенное в "ProjectB", не вызывало триггер. Этот триггер был протестирован, когда к конфигурации сборки был подключен только один корень VCS, и он работает должным образом.

Триггер был протестирован с помощью опроса репозитория ProjectA, а также с помощью POST-хука из ProjectA. Оба результата одинаковы. (Я даже пытался отправить несколько хуков POST из репозитория ProjectA, чтобы указать, что ProjectA и ProjectB были изменены, что неудивительно, что этот тест на отчаяние тоже не сработал).

Правило проверки для одного из корней VCS: "+:. => .ProjectB". Это сделано для того, чтобы ProjectB находился не в корневом каталоге ProjectA, а в подкаталоге. При ручном запуске отложенной сборки оба хранилища выбираются правильно.

Оба VCS-корня настроены для функциональных ветвей, однако удаление спецификации ветвления также не имеет значения для результата.

Кто-нибудь сталкивался с подобной проблемой раньше и мог дать совет?

2 ответа

Это может иметь значение или нет, но правило извлечения должно быть с косой чертой: "+:.=>./ProjectB", как в примере в документации TeamCity 8.1.

Дополнительное примечание: вы все еще увидите ожидающие изменения в этой конфигурации сборки без запуска сборки. Это произойдет, когда есть изменения в ProjectB, но нет ни одного в ProjectA.

И если вышеупомянутое не отвечает на вопрос и не дает большего понимания этой конфигурации, какова цель получения дополнительного VCS Root без соответствующего правила триггера?

У меня довольно одинаковая конфигурация: 2 корня VCS.
Мне нужно запустить основную ветку первого корня VCS и запустить сборку.
Если регистрация была обнаружена, она проверяет второй корень VCS и запускает сборку.

Добавление этой строки в правила корневого триггера VSC помогло мне:+:root=VCS_root_id:**

Не получилось без :**

TeamCity v9.1.3

Другие вопросы по тегам