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