TFS 2013.4 сборка с подмодулями GIT завершается неудачно


Мы только что обновили наш TFS до TFS 2013 update 4 (TFS2013.4), и мы используем подмодули GIT в наших репозиториях (которые мы обновили с помощью некоторых пользовательских MSBuild magic на сервере сборки).

Однако теперь с последним обновлением, наши сборки все терпят неудачу с этим сообщением:

Не удается установить неизвестный элемент - Microsoft.Командообразование.Строить.Мероприятия.Мерзавец.Гитпулл.CheckoutSubmodules'.

Похоже, что Microsoft добавила некоторую поддержку для подмодулей GIT, однако он не работает на нашем сервере сборки.

Есть идеи, как это исправить?

2 3

2 ответа:

Ну, это было вызвано моей собственной глупостью (как и в большинстве случаев).

Я полагал, что только установка Visual Studio Update 4 (VS2013. 4) установит те же необходимые клиентские библиотеки для сервера сборки, что и TFS, однако я ошибся.

Просто обновление серверов сборки TFS до TFS2013. 4 решило проблему.

EDIT: единственная решенная проблема заключается в том, что "hackety MSBUILD magic" обновления подмодулей снова работает, без собственного суппорта.

Похоже различные версии между TFS2013. 4 на сервере TFS и TFS2013.2 на серверах сборки вызвали проблему, что РЕПО не могли быть извлечены вообще, независимо от того, были ли у него подмодули или нет.

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

Править 2:

Для тех, кто просит решения hackety, я в конечном итоге использовал простой текстовый файл _netrc в папка профиля пользователя службы сборки, например:

machine <hostname1>
login <login1>

Git-как пользоваться .netrc файл в windows для сохранения пользователя и пароля

Я также столкнулся с проблемой, что когда учетная запись службы сборки TFS запускается в контексте сборки TFS, переменная домашней среды не задается, поэтому мне пришлось установить ее вручную:

В Разделе Свойства Системы > Переменные Среды

Установите системную переменную HOME в %PROFILE%

К вашему сведению, похоже, что проверка подмодуля предназначена для TFS2015... Посмотрите на Изображение для настройки сборки git, есть флажок для обновления подмодулей..