Создание определения BuildvNext, использующего репозиторий Git в другом командном проекте

Я работаю в организации, которая использует TFS 2015 для ALM. Структура выглядит следующим образом:

  • Collection
    • WIT TP (TFVCS)
    • Код TP1 (Git)
    • Код TP2 (Git)

Все отслеживание рабочих элементов выполняется в командном проекте «WIT TP» внутри проектных групп. Это также включает в себя все области, итерации и (что наиболее важно) планы/кейсы тестирования.

Весь код хранится в отдельных командных проектах, таких как Code TP1. Как правило, существует корреляция 1-1 между командными проектами кода и проектной группой внутри группового проекта отслеживания работы.

В частности, код для автоматизированных тестов находится в проекте группы кода. Возможно, вы знаете, что Microsoft Test Manager может просматривать только определения сборки, созданные в рамках командного проекта. Конкретика не важна, на самом деле, вот моя цель:

Создайте определение сборки в одном командном проекте, используя исходные файлы, расположенные в репозитории git, принадлежащем другому командному проекту

Я знаю, что это может работать с TFVCS. Я не вижу веской причины, почему это не может работать для git. Я пытался ссылаться на (на самом деле внутренний) репозиторий git как на «Внешний репозиторий Git» и создавать то, что я считал правильными конечными точками, но столкнулся с ошибкой:

Too many redirects or authentication replays
Prepare repository failed with exception.

Еще одна проблема, с которой я сталкиваюсь, заключается в том, что командный проект рабочего элемента использует TFVCS. Таким образом, на вкладке «Репозиторий» окна редактирования определения сборки не отображается опция для внутреннего репозитория git. Эксперименты с другими командными проектами с использованием git не стали лучше — хотя я могу выбрать репозиторий Git, я не могу ссылаться на него в другой части сервера.

Спасибо за вашу помощь!


person Ryanman    schedule 02.08.2016    source источник
comment
Вы пытались создать репродукцию git с подмодулем, указывающим на эту другую репродукцию? В зависимости от вашего уровня обновления это может сработать.   -  person Rolf Huisman    schedule 02.08.2016
comment
@RolfHuisman Я еще не пробовал, нет. Судя по ответу Microsoft, похоже, что для этой отсутствующей функции требуется обходной путь. Я попробую подмодуль или, возможно, поддельное определение сборки в групповом проекте отслеживания рабочих элементов. Я не могу поверить, что это возможно для TFVCS, а не для Git.   -  person Ryanman    schedule 03.08.2016


Ответы (2)


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

Если вы не хотите перемещать код в проект рабочего элемента, альтернативным способом может быть добавление сценария Power-Shell в определение сборки для клонирования кода из проектов Git во время процесса сборки.

person Eddie Chen - MSFT    schedule 09.08.2016
comment
Я полагаю, что это правильный ответ, хотя это разочаровывает, и для меня это функция, которую следует реализовать. К сожалению, UserVoice @Patrick-MSFT, упомянутый для него, очень плохо написан, поэтому мы потеряли еще одну возможность из XAML. - person Ryanman; 26.09.2016

Нет, это не поддержка GIT. Точно, это тоже не поддержка TFVC во всплывающем окне. Способ, упомянутый в ссылке выше, является всего лишь обходным путем.

Для TFVC вы можете напрямую указать путь к репозиторию. Однако этого нельзя добиться в определении GIT (вы можете выбрать только ветку).

Более того, "Внешний репозиторий Git", предназначенный для внешней службы GIT (например, GITHub, BitBucket), а не для другого группового проекта GIT в TFS.

На данный момент вы можете проголосовать Создайте несколько командных проектов в build.vnext в uservoice, чтобы включить это во всплывающем окне.


В вашей ситуации предложите добавить репозиторий GIT в существующий командный проект, созданный с помощью репозиториев TFVC(Это двунаправленный). Наличие репозиториев TFVC и Git в одном командном проекте позволяет легко получать доступ к рабочим элементам, сборкам и истории кода, не переключаясь между командными проектами.

Подробные сведения см. в этом блоге MSDN: Репозитории TFVC и Git в одном командном проекте

Примечание.

  • Требуется обновление TFS20151 и выше
  • Visual Studio 2015 Update 1 поддерживает командные проекты с обоими типами репозиториев.
person PatrickLu-MSFT    schedule 03.08.2016
comment
Патрик: Как насчет подхода, описанного в комментариях к этому сообщению в блоге: blogs.msdn.microsoft.com/premier_developer/2016/04/13/ Должно ли это работать? - person Ryanman; 03.08.2016