2017-02-15 51 views
0

Как добавить внешнее подключение TFS к TFS 2017, чтобы он мог подключаться к TFS 2013?Подключить TFS 2017 к созданию внешнего подключения TFS для TFS 2013

Я перешел на http://tfsserver:8080/tfs/collection/team_project_name/_admin/_services?_a=resources и нажал New Service Endpoint. Я выбрал External TFS

enter image description here

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

Failed to query service endpoint api: http://tfsserver:8080/tfs/collection/_apis/projects. Error Message: The remote server returned an error: (401) Unauthorized.. 

Вот скриншот об ошибке.

enter image description here

Самое странное в том, что если я делаю запрос GET к http://tfsserver:8080/tfs/collection/_apis/projects без аутентификации я получаю 200 OK ответ обратно с проектной информацией.

Я настроил базовую аутентификацию на tfs cli guide. Как проверить правильность настройки базовой проверки подлинности? Когда я пытаюсь войти в систему с tfx, я получаю следующий экран.

tfx from command prompt

У меня есть следующие расширения, установленные на экземпляре TFS 2017 года.

  • управление пакетами
  • Release Management Utility задача
  • TFS артефакты для управления выпусками

Я использую Microsoft Visual Studio Team Foundation Server версию 15.105.25910.0

+0

Где вы добавить это в TFS 2017? Похоже, вы добавляете конечную точку службы, однако я не смог найти ее в списке конечных точек службы по умолчанию. Вы установили какое-то расширение? Более того, какая «детальная версия вашего TFS2017? Используете ли вы [TFS 2017 update1] (https://www.visualstudio.com/en-us/news/releasenotes/tfs2017-update1)? –

+0

@ Patrick-MSFT, что самое лучшее место для поиска детальной версии моего TFS 2017? –

+0

В правой верхней части домашней страницы нажмите «...», затем нажмите ** около **, вы получите подробную версию. Пример скриншота обновился в вашем вопросе. Как вы открыли диалоговое окно выше? Вы только что добавили услугу? –

ответ

0

Согласно скриншоту , вы используете расширение TFS artifacts for Release Management для подключения к другому экземпляру TFS.

Убедитесь, что все ниже:

  1. Убедитесь, что коллекция URL вы ввели правильно. На вашем скриншоте URL-адрес, который вы вводите, заканчивается «_home».

  2. Убедитесь, что на сервере TFS включен Basic Auth.

0

Кажется, вы используете расширение TFS артефакты для управления релизами, который обеспечивает конечную точку службы для подключения к внешнему TFS или VS Team Services Collection.

После теста с TFS2013 я мог воспроизвести вашу проблему и получить ту же информацию об ошибках. Решение смотрите ниже:

  • Поскольку вы подключаетесь к TFS2013, он работает только с основной аутентификации. Вам понадобится enable basic authentication support для сервера TFS, который обрабатывает TFS2013.
  • Также убедитесь, что имя пользователя для подключения к внешнему TFS коллекции являются с домена перед. Затем получится зеленый статус verfifed.

enter image description here

+0

Я получил тот же результат, когда использовал формат имени пользователя DOMAIN \ USER. Я обновил вопрос с помощью скриншота о том, что я получаю при попытке напрямую использовать tfx. –

+0

@ RyanGates После того, как вы следуете руководству, базовая аутентификация должна быть уже настроена. TFX - еще один инструмент, не связанный с нашим делом. Добавьте ссылку только потому, что есть подробное описание того, как включить базовую аутентификацию в GitHub. Попробуйте включить базовую аутентификацию как на вашем сервере TFS2017, так и в 2013 году. Также убедитесь, что ваша учетная запись может войти в коллекцию на TFS 2013 (например, достаточно разрешения). Также дважды проверьте настройки брандмауэра, оба сервера могут успешно выполнить ping и в списке доверия друг друга. –

+0

Я пытался использовать TFX для проверки правильности настройки базовой аутентификации. Я все еще получаю сообщение об ошибке после установки/включения базовой аутентификации на обоих. Я смог выполнить запрос от powershell на сервере TFS 2017. Это был 'Invoke-WebRequest -Uri 'http: // tfsserver: 8080/tfs/collection/_apis/projects" -Credential DOMAIN \ User'. –