Несколько проектов по одному корню VCS, вызывающему ожидание

У меня есть 2 полностью отдельных проекта, которые полагаются на один и тот же базовый проект и общие пакеты nuget. По этой причине у меня мало выбора, кроме как иметь один корень VCS, который обеспечит наличие всех необходимых файлов.

Мне удалось настроить каждый проект в TeamCity, чтобы работать с необходимыми файлами csproj и запускать правильно. Однако, если я что-то передаю для Project A, что Project B не заботится об этом, он все равно будет отображаться как "Ожидание (x)", даже если они никогда не будут активированы с этой конфигурацией проекта.

Он уходит, когда я беру что-то, о чем заботится Project B, но это раздражает. Итак, есть ли способ настроить его, чтобы даже не смотреть на изменения в файлах из Project A?

Это триггер для проекта A:

-:root=SVN:.
+:Web/**
+:Library/**

И это триггер для проекта B:

-:root=SVN:.
+:Client/**
+:Library/**

Я использую Subversion для моего VC, если это будет иметь какое-то значение, чтобы помочь в настройке.

2 ответа

Имейте один корень VCS, но настраивайте правила выписки вместо триггеров VCS. Если вы отредактируете конфигурацию сборки и перейдите в настройки VCS, выберите "просмотреть правила проверки". Для первого проекта введите:

+:Web/**
+:Library/**

Это значит, что сборка ничего не знает о /Client и не может сказать, что изменения находятся на рассмотрении. Если вы сделаете это изменение, вам больше не нужно ограничивать триггер VCS, поскольку он будет предварительно отфильтрован, чтобы просматривать только эти папки.

Для достижения такого же результата вам потребуется внести аналогичные изменения во вторую конфигурацию сборки.


Почему у вас есть единственный корень VCS? Вы можете легко иметь несколько корней VCS.

У вас есть триггер VCS, если это так, ваша сборка должна начинаться. Можете ли вы предоставить дополнительную информацию о триггерах VCS root и VCS.

licensed under cc by-sa 3.0 with attribution.