Материал: ВВПИ. Лекции

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Клиентская часть

 

 

 

Internet

 

 

 

VS и Team Explorer

 

 

 

 

Др. клиентские приложения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Explorer

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TFS Client API

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Серверная часть

 

TFS

 

 

Build Agent

Уровень приложений (IIS+ASP.NET)

 

 

 

 

Team Foundation

SQL Server

Sharepoint

Team Foundation

Build Service

Analysis & Reporting

Services

Server

 

SharePoint

Team Foundation

MsBuild

extensions

Build Service

 

 

 

Уровень данных

Custom tasks

(MS SQL Server + Share Point)

Рис. 11.4. Архитектура серверной части VSTS.

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

SQL Server Analysis & Reporting – компонента пакета SQL Server, используемая TFS для построения отчетов анализа статуса проектов. Доступ к этой компоненте с клиентской стороны осуществляется не через компоненту TFS Client API, а напрямую, средствами Web-браузера.

SharePoint Services – компоненты из пакета Share Point, используется для хранения общедоступной информации и описания используемого процесса разработки. Доступ к этой компоненте с клиентской стороны осуществляется не через TFS Client API, а напрямую, средствами Web-браузера.

81

Share Point Extensions for TFS – расширение Share Point для TFS, которое обеспечивает доступ к отчетам и некоторым функция TFS непосредственно с Web-портала.

Team Foundation Server – главная компонента TFS, которая состоит из набора Web-сервисов, доступных через TFS Client API клиентскому ПО и реализующих основные сервисные функции TFS, в частности:

версионный контроль,

управление элементами работы,

работам с шаблонами процесса,

администрирование и т.д.

Team Foundation Build Service в составе TFS – предназначена для инициации процесса сборки и передачи соответствующего задания компоненте Build Agent. Другой экземпляр этого приложения находится в Build Agent и выполняет там системные функции.

Уровень приложений реализован на технологии ASP.NET и работает под управлением IIS (Internet Infromation Service). IIS является Web-сервером, то есть средой для работы Web-сервисов TFS, обеспечивая доступ к функциональности сервера VSTS со стороны его клиентов.

Уровень данных состоит из набора баз данных, где TFS хранит свои данные. Он реализован на основе продуктов MS SQL Server и Share Point.

В зависимости от размера компании-разработчика ПО и предполагаемой нагрузки эти два уровня TFS могут быть установлены на одном сервере (single-server deployment) или на двух разных серверах (dual-server deployment). Для очень больших компаний возможно использование механизмов кластеризации, встроенных в Microsoft SQL Server и Internet Information Server.11

Build Agent – еще одна серверная подсистема VSTS. Как уже говорилось выше, она предназначается для выполнения сборки проектов. Выполнение сборки проекта происходит средствами пакета .NET Framework, с помощью стандартной утилиты этого пакета MSBuild, которая, получив задание на сборку, вызывает соответствующий компилятор из .NET Framework. Этот же механизм используется и для сборки проекта,

запущенной из Visual Studio.

В случае Build Agent выполнение сборки происходит по следующему сценарию. Компонента TFS Build Service в составе TFS cообщает такой же компоненте на компьютере, где расположен Build Agent, что надо запустить выполнение сборки. А та, в свою очередь, являясь системным сервисом и будучи запущенной, оказывается тем процессом Windows, в рамках которого и будет происходит выполнение сборки под управлением компоненты MSBuild. При этом всю связь с TFS для выполнения сценария сборки осуществляет компонента Custom tasks. В сценарии сборки указывается, откуда нужно брать исходные тексты собираемого приложения, откуда брать регрессионные тесты и как их запускать, как создавать отчеты по результатам сборок и т.д.

11 Подобная распределенная архитектура накладывает серьезное ограничение на схему развертывания TFS – нормальной его работы можно добиться только в сети с доменом Active Directory. Использование TFS в других условиях возможно, но сопряжено с дополнительной существенной нагрузкой по развертыванию и администрированию.

82

Правила инсталляции

Клиентская часть устанавливается легко, либо как расширению существующей установки Visual Studio, либо на чистую машину (в этом случае базовая инфраструктура Visual Studio будет установлена автоматически). Основная работа при установке VSTS – развертка серверной части, то есть TFS. В версии 2008-го года установка TFS значительно улучшена и упрощена по сравнению с версией 2005-го года, однако, требования на программное окружение по-прежнему достаточно жесткие:

Microsoft Windows Server 2003 или 2008.

Microsoft SQL Server 2005 или 200812.

Internet Information Server 6 (для Windows Server 2003) или 7 (для Windows Server 2008).

Active Directory Domain 5.0 или 2003 (TFS не работает с доменом 4.0). Важно отметить, что нормальное использование TFS вне домена наладить достаточно сложно – для этого приходится использовать технологию VPN или Web-клиента, что вдет к существенному увеличению затрат на администрирования и накладных расходов при работе.

SharePoint Server 3.0 или Microsoft Office SharePoint Server 2007. При обновлении с TFS 2005 можно остаться на Windows SharePoint Server 2.0.

Пакет Team Explorer

Данный пакет является самым распространенным клиентским приложением VSTS. Он встраивается в среду Visual Studio в виде плавающего окна, а также ряда диалоговых окон и окон-документов. Его внешний вид представлен на рис. 11.5.

12 Установку SQL сервера необходимо производить строго в соответствии с инструкцией для TFS.

83

Рис. 11.5. Внешний вид Team Explorer.

Основное дерево Team Explorer содержит:

список доступных TFS-серверов, (1); каждый такой сервер является

экземпляром серверной части Team System и, как правило, располагается на отдельном компьютере13;

список доступных проектов для каждого из подключенных серверов (2);

панели инструментов инструментального окна для того, чтобы подключить/ добавить в TFS новый проект (3).

Для каждого из проектов в дереве Team Explorer отображается следующая информация.

Список элементов работы (Work Items) проекта, то есть всех тех дискретных элементов работы в проекте, которые создают менеджеры и другие участники проекта для того, чтобы ни о чем не забыть, а также для коммуникации друг с другом.

Список доступных документов (Documents). В этом списке отображаются документы, хранящиеся на портале проекта. Как, правило, это нормативные или вспомогательные документы, не требующие хранения в системе контроля версий.

Список доступных отчетов (Reports). В этом списке представлены доступные для проекта отчеты. Результат выполнения отчета открывается в отдельном окне документе.

13 Исключение – это когда инсталляция TFS является кластерной и развертывается на нескольких компьютерах.

84

Список сборок (Builds) проекта – описаний и результатов.

Система контроля версий (Source Control). Позволяет получить доступ к

версионному репозиторию с основными артефактами проекта (открывается в отдельном окне-документе).

Кроме того, через контекстные меню в дереве проектов можно выполнять следующие операции:

создать новый проект или подключится к существующему;

поменять настройки сервера или проекта;

создать/удалить/изменить запрос на элементы работы;

создать/удалить/изменить отчет;

создать/удалить/изменить/запустить процесс сборки;

создать/изменить/удалить документ;

подписаться на определенные оповещения или отменить подписку.

85