Регистрация в командных проектах TFVC запускает сборки в командном проекте Git

У меня есть проект TFS, настроенный для непрерывной интеграции. Моя проблема в том, что проверки в других проектах TFS запускают сборки моего проекта, даже если в мой проект не было внесено никаких изменений.

Похоже, это связано с тем, что мой проект является репозиторием Team Foundation Git, и ни один из других проектов таковым не является.

Где я могу узнать, что запускает эту сборку?

Изменить: чтобы быть более ясным, я имею в виду, что у меня есть полностью отдельные командные проекты. Все они, кроме одного, используют систему управления версиями Team Foundation, за исключением одного, использующего Git. Каким-то образом проверки командных проектов TFVC запускают сборку командного проекта Git.


person Ivy    schedule 08.12.2014    source источник
comment
Проверки по TFVC запускают сборки для репозитория Git? Это интересная морщинка.   -  person Daniel Mann    schedule 16.12.2014


Ответы (4)


В нашем случае это было идентифицировано Microsoft как ошибка в TFS.

Столбец ServerItem в tbl_BuildDefinitionMapping для соответствующей сборки был установлен на «$ \».

Исправление, которое я получил от Microsoft, заключалось в том, чтобы изменить это на что-то, чего не существует, например:

$ \ GIT_NOTAFOLDER \

Это решило проблему для меня.

Вам нужно найти определение сборки в tbl_builddefinition. Найдя его, запомните DataspaceId.

Затем откройте tbl_builddefinitionmapping и найдите DataspaceId сверху. Вы должны увидеть, что ServerItem равен $ \. Измените это на $ \ GIT_NOTAFOLDER \, и это должно решить проблему.

person gregpakes    schedule 28.08.2015
comment
Мне не удалось найти DataspaceId где-либо в базе данных с помощью sys.columns (TFS Version 12.0.31101.0), но я обнаружил, что в tbl_BuildDefinitionMapping моему проекту с репозиторием git был назначен тот же идентификатор рабочей области, что и другим проектам, запускающим сборку. . - person Ivy; 09.09.2015
comment
Обходной путь $ \ GIT_NOTAFOLDER \, о котором вы упомянули, работает и, похоже, никак не повлиял на нашу сборку. Спасибо! - person Ivy; 09.09.2015

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

Я предполагаю, что у вас есть широкое отображение рабочей области build def. Вы должны включать только те папки / файлы, которые нужны вашей сборке (и только изменения в этих файлах будут запускать вашу сборку).

введите описание изображения здесь

person Dylan Smith    schedule 08.12.2014
comment
Поскольку это репозиторий git, на моей вкладке настроек исходного кода нет раздела рабочих папок: i.imgur.com /NcvnHTE.png. Я попробовал это после удаления refs / Heads / *, но это не имело значения. Есть ли другой способ изменить рабочее пространство? - person Ivy; 09.12.2014
comment
(Проголосовали за полезность, но это не решает мою проблему.) - person Ivy; 16.12.2014

CI, построенный на репозитории Git, всегда контролирует весь репозиторий. Единственный фильтр, который вы можете добавить, - это отслеживать некоторые ветки, но вы не можете «замаскировать» папки или файлы, как в классическом TFVC.

person Giulio Vian    schedule 09.12.2014
comment
Похоже, проблема больше в том, что он отслеживает папки вне репозитория. Если вы не имеете в виду репозиторий как этот проект плюс все проекты, не относящиеся к git, хранящиеся на сервере TFS? У меня есть продукты A и B, которые используют TFS, а продукт C использует git. Каждый раз, когда кто-то проверяет продукты A или B, C решает строить. - person Ivy; 10.12.2014
comment
Вы имеете в виду командные проекты, которые используют TFVC в качестве исходной системы или другие .proj в том же репозитории Git? - person MrHinsh - Martin Hinshelwood; 10.12.2014
comment
Я имею в виду, что проверки других командных проектов, которые используют TFVC, запускают мой командный проект Git для сборки. - person Ivy; 16.12.2014

Мы исправили это, удалив рабочие области в агенте сборки TFS с помощью инструмента под названием TFS Sidekick. После воссоздания определений сборки сборки на основе других продуктов больше не запускаются сборки продукта в Git.

Я до сих пор не понимаю, как они были связаны.

person Ivy    schedule 19.12.2014
comment
Я думал, что это исправило, но этого не произошло. Кажется, у кого-то еще есть эта проблема: stackoverflow.com/questions/21906809/ - person Ivy; 05.03.2015