Спонсор: Microsoft
Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 809 / 26 | Оценка: 4.43 / 3.71 | Длительность: 10:46:00
Лекция 17:

Интернет-доступ к Team Foundation Server

< Лекция 16 || Лекция 17: 123 || Лекция 18 >

Обычная проверка подлинности и SSL

Если вы установили TFS SP1 и хотите воспользоваться сценарием развертывания TFS в экстрасети или с использованием обратного прокси, вам придется разрешить обычную проверку подлинности при помощи SSL, соответствующим образом настроив IIS на уровне приложений TFS. При использовании обычной проверки подлинности учетные данные передают по Интернету в незащищенной кодировке Base64. Чтобы защитить учетные данные, применяйте обычную проверку подлинности только по подключениям HTTPS, в которых используется SSL.

Настройте фильтр Internet Server API (ISAPI) так, чтобы удаленные клиенты подключались при помощи обычной проверки подлинности с SSL, а локальным клиентам разрешалась бы встроенная проверка подлинности Windows. Фильтр ISAPI выделяет клиентов, которых вы настроили как " external/Internet ", и удаляет проверку подлинности NTLM по отклику 401, чтобы заставить эти клиенты использовать другие методы проверки подлинности, например, обычную.

Дополнительная информация

Подробнее о настройке TFS -сервера на использование обычной проверки подлинности и HTTPS при удаленных подключениях читайте в статье Walkthrough: Setting up Team Foundation Server to Require HTTPS and Secure Sockets Layer (SSL) по адресу http://msdn2.microsoft.com/en-us/li-brary/aa833873(VS.80).aspx.

Подробнее о настройке ISAPI -фильтра читайте в статье "Walkthrough: Setting up Team Foundation Server with Secure Sockets Layer (SSL) and an ISAPI Filter" по адресу http://msdn2.microsoft.com/en-us/library/aa833872? (VS.80).aspx.

Более подробную информацию об ISAPI -фильтрах для TFS вы найдете в публикации "The TFS extranet ISAPI filter mechanics" из блога Джеймса Мэннингса (James Manning) по адресу " type="url" />http://blogs.msdn.com/jmanning/ar-chive/2006/10/27/the-tfs-quot-extranet-quot-isapi-filter-mechanics.aspx" type="url" />.

Team Foundation Server Proxy

На рис.17.5 показана архитектура использования Team Foundation Server Proxy.

 Архитектура TFS Proxy

Рис. 17.5. Архитектура TFS Proxy

Чтобы повысить производительность удаленного филиала, подключающегося к TFS через VPN, установите там TFS Proxy Вообще, для обеспечения удаленного доступа TFS Proxy не требуется, но удобен в качестве кеша для файлов системы управления исходным кодом. Когда удаленному клиенту понадобится файл исходного кода из хранилища, он сначала запросит его в TFS Proxy Если в прокси имеется локальная версия, возвращена клиенту будет она. Если локальной версии в кеше нет, прокси запросит исходный код у удаленного TFS -сервера. Это позволяет сократить сетевой трафик и ускорить работу с исходным кодом в удаленном филиале.

Советы по повышению производительности прокси

Настраивая прокси, учитывайте следующие соображения:

  • Убедитесь, что кеширование включено, и следите за производительностью кеша. Вообще, регулярно просматривайте счетчики производительности (устанавливаемые по умолчанию) и журналы событий (на предмет наличия ошибок и предупреждений) прокси-сервера. TFS Proxy сохраняет информацию о производительности кеша в XML -файле ProxySta-tistics.xml, который находится в папке App_Data установочной папки прокси. Интервал сохранения информации можно изменить.
  • Запускайте по расписанию задачу переноса на прокси-сервер последних версий файлов. Это гарантирует, что в кеше прокси всегда хранятся наиболее актуальные версии и что последующие запросы клиентов можно будет удовлетворить из кеша.
  • Если вы заранее знаете о готовящейся передаче больших файлов по медленной сети ( < 3 Мбит/с ), присвойте соответствующее значение параметру executionTimeout в файле Web.config. Значение по умолчанию равно одному часу - <httpRuntime executionTimeout="3600"/>.
  • Если вы собираете отключить прокси на длительный срок, отключите его использование на клиентах, чтобы избежать безрезультатных соединений. По умолчанию попытки подключения осуществляются каждые 5 минут.
  • Чтобы предотвратить ненужную передачу файлов и запретить просмотр определенных рабочих областей, сделайте их скрытыми ( cloaked ). Это сокращает сетевой трафик и экономит локальное дисковое пространство, поскольку предотвращает копирование в локальную рабочую область файлов и папок, которые вам в данный момент не нужны. Скрыть можно и существующее сопоставление папок в рабочей области, однако лучше создать для сокрытия специальное сопоставление.

Более подробную информацию вы найдете в разделе "Распределенная и удаленная разработка" части "Руководство по управлению исходным кодом".

Зеркальные учетные записи

Работа TFS Proxy в удаленных офисах поддерживается только при использовании подключения VPN. Однако в небольших удаленных группах это возможно и при развертывании TFS в экстрасети или при помощи обратного прокси. Для этого вам понадобятся зеркальные учетные записи ( mirrored accounts ).

Чтобы задействовать TFS Proxy, используйте на TFS, TFS Proxy и каждом из удаленных клиентских компьютеров учетные записи рабочей группы с точно совпадающими именами и паролями. Необходимость поддержки идентичных учетных записей в трех различных местах существенно увеличивает затраты времени на администрирование. Именно поэтому такое решение рекомендуется только для небольших удаленных групп.

Дополнительная информация

Удаленный сервер сборки

На рис.17.6 показана архитектура использования удаленного сервера сборки.

Архитектура удаленного сервера сборки

Рис. 17.6. Архитектура удаленного сервера сборки

Чтобы повысить эффективность работы удаленной команды, настройте в удаленном офисе собственный сервер сборки. Если там установлен TFS Proxy сервер будет действовать подобно любому другому клиенту системы управления исходным кодом, перед каждой сборкой запрашивая исходный код у прокси. У удаленного сервера сборки есть следующие преимущества:

  • Благодаря тому, что удаленные сборки осуществляются "на месте", снижается нагрузка на внутренний сервер сборки.
  • Благодаря удаленной сборке сокращается потребность в передаче по сети двоичных файлов.

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

Примечание Уровень приложений взаимодействует с сервером сборки по порту 9191. Если вы используете удаленный сервер сборки, настройте брандмауэр так, чтобы приложения могли подключаться через этот порт.

Резюме

Если вы используете TFS без SP1, для удаленного доступа вам доступно только VPN -подключение. При установленном TFS SP1 вы можете развернуть TFS в экстрасети или при помощи обратного прокси, используя обычную проверку подлинности с SSL.

Чтобы повысить эффективность работы удаленных групп, особенно, при использовании VPN -подключения, установите и настройте TFS Proxy для кеширования файлов системы управления исходным кодом.

Дополнительные ресурсы

< Лекция 16 || Лекция 17: 123 || Лекция 18 >
Александр Будник
Александр Будник
Израиль, Иерусалим
Pavel Pelevin
Pavel Pelevin
Украина, Одесса