Team web access
Архитектура и функциональные возможности Visual Studio Team Foundation Server
Презентацию к данной лекции Вы можете скачать здесь.
Получить представление об архитектуре и функциональных возможностях TeamFoundationServer 2012
Введение
MicrosoftVisualStudio TeamFoundationServer(TFS) предназначен для обеспечения совместной работы команд разработчиков программного обеспечения. TeamFoundationServer предоставляет следующие функциональные возможности [29]:
- управление проектами;
- отслеживание рабочих элементов;
- контроль версий;
- управление тестовыми случаями;
- автоматизация построения;
- отчетность.
Архитектура TeamFoundationServer 2012 является трехуровневой сервис-ориентированной ( рис. 9.1) [30]. Уровень приложения поддерживается веб-сервером ASP . NET , размещенном в среде IIS . Уровень данных поддерживается сервером баз данных MSSQLServer 2012.
Team Foundation Server представляет с логической точки зрения веб- приложение , состоящее из нескольких веб-служб, выполняющихся на уровне приложения. Данные службы реализуют функциональность TFS. В состав веб-служб уровня приложения входят: управление версиями, служба построения, отслеживания рабочих элементов, службы платформы TFS и лаборатории тестирования LabManagement.Серверная объектная модель является интерфейсом прикладного программирования для TFS. При необходимости расширение функциональности TFS целесообразно строить на базе серверной объектной модели.
Уровень данных состоит из нескольких реляционных баз данных и хранилища данных: базы данных конфигурации сервера, базы данных аналитики, базы данных коллекции командных проектов и хранилища данных. Информация командных проектов сохраняется в реляционных базах данных, и через запланированные интервалы времени помещается в хранилище данных .
Клиентский уровень может реализовываться в оболочке VisualStudioи веб-браузере. Клиентский уровень взаимодействует с уровнем приложений через серверную объектную модель и использует веб-службы. Кроме того, клиентский уровень включает интеграцию с Microsoft Office.
Развертывание Team Foundation Server
Для Team Foundation Server можно выполнить развертывание несколькими способами: на одном сервере; на нескольких серверах; в одном домене, рабочей группе или в нескольких доменах [31].
В простейшей серверной топологии для размещения компонентов, составляющих логические уровни Team Foundation , используется один физический сервер ( рис. 9.2). При установке TFS с одним сервером все компоненты ( приложение TeamFoundationServer, SQLServer, ReportingServices и W >конфигурация предполагает выполнение построения (TeamFoundationBuild) и тестирование либо на сервере, либо на клиентских компьютерах. Общее число пользователей для такой конфигурации, как правило, не более 50.
В простой серверной топологии для размещения компонентов, составляющих логические уровни Team Foundation , также используется один физический сервер ( рис. 9.3). Однако в такой технологии учитывается также дополнительная нагрузка на процессорные мощности, создаваемая программным обеспечением для построения и тестирования.
На рис. 9.3 веб-службы и базы данных для Team Foundation размещаются на одном физическом сервере, но службы построения устанавливаются на отдельный компьютер . К Team Foundation Server можно получить доступ с клиентских компьютеров, принадлежащих к той же рабочей группе или тому же домену. В данной конфигурации контроллер построения для выполнения Team Foundation Build и контроллер тестирования устанавливаются на отдельных компьютерах. Общее число пользователей для такой конфигурации, как правило, не более 100.
В серверной топологии средней сложности используются два или больше серверов для размещения логических компонентов на уровне данных и приложений Team Foundation ( рис. 9.4). На рис. 9.4 службы уровня приложений для Team Foundation Server развертываются на одном сервере, а базы данных для TFS устанавливаются на отдельном сервере. На отдельных серверах размещаются веб- приложение SharePoint и экземпляр служб отчетов SQL Server . Портал для каждого командного проекта размещается в веб-приложении SharePoint. Сервер Team Foundation Build и тестовые контроллеры команды развертываются на дополнительных серверах. Общее число пользователей для такой конфигурации, как правило, не более 1000.
Для управления командной разработкой TeamFoundationServer содержит одну или несколько коллекций командных проектов, каждая из которых может содержать ноль или более проектов.
Шаблоны командных проектов
Командный проект представляет коллекцию рабочих элементов, кода, тестов и построений, которые охватывают все артефакты, используемые в жизненном цикле программного проекта [32]. Командный проект строится на основе шаблона, который представляет набор XML-файлов, содержащих детали того, как должен осуществляться процесс. В TFS 2012 имеются следующие шаблоны проектов:
- MSFforCMMIProcessImprovement 6.0, который предназначен для больших команд со строго формальным подходом к управлению проектами на основе модели CMM/CMMI;
- MSFforAgileSoftwareDevelopment 6.0, который определяет гибкий подход к управлению проектами разработки программного обеспечения;
- MicrosoftVisualStudioScrum 2.2., который предназначен для небольших команд (до 7 — 10 участников), которые используют гибкую методологию и терминологию Scrum.
При создании командного проекта предоставляется возможность настраивания и управления следующими областями проекта:
- отслеживание рабочих элементов позволяет определить начальные типы рабочих элементов, общие и пользовательские запросы, создать начальные рабочие элементы;
- классификации позволяют определить начальные области и итерации проекта;
- веб-сайт на базе SharePoint позволяет управлять библиотекой документов проекта;
- система контроля версий позволяет определять начальные группы безопасности, разрешения, правила возврата версий;
- отчеты формируются в папки, создаваемые на сайте командного проекта;
- группы и разрешения включают группы безопасности TFS и разрешения для каждой группы;
- построения включают стандартные процессы построения для создания новых построений;
- лаборатория включает стандартные процессы лаборатории для использования, а также разрешения лаборатории для каждой группы;
- управление тестированием включает стандартные конфигурации тестирования, переменные, параметры и состояния разрешений.
Рабочими элементами в TeamFoundationServer являются: пользовательское описание функциональности, задачи, тестовые случаи, ошибки и препятствия. Этими элементами нужно управлять для выполнения программного проекта. Система отслеживания рабочих элементов позволяет создавать рабочие элементы, отслеживать их состояние, формировать историю их изменения. Все данные по рабочим элементам сохраняются в базе данных TFS.
TeamFoundationServer включает централизованную систему контроля версий. Система контроля версий TFS предоставляет следующие возможности:
- атомарные возвраты. Изменения, вносимые в файлы, упаковываются с «набор изменений». Возврат файла в наборе изменений представляет собой неделимую транзакцию. Этим гарантируется согласованность базы кода;
- ассоциация операций возврата с рабочими элементам, что позволяет отслеживать требования от начальной функции до задач и возврата в систему контроля версий кода, реализующего эту функцию;
- ветвление и объединение при разработке кода;
- наборы отложенных изменений позволяют создавать копии кода не записывая их в главное хранилище системы контроля версий;
- использование подписей позволяет пометить набор файлов в определенной версии с помощью текстовой подписи;
- одновременное извлечение позволяет нескольким членам команды одновременно редактировать файл с последующим объединением изменений;
- отслеживание истории файлов;
- политики возврата, которые предоставляют возможность выполнить код для проверки допустимости возврата;
- примечания при возврате позволяют формировать метаданные о возврате;
- прокси-сервер позволяет оптимизировать работу с региональными центрами разработки.
Построение проекта программного продукта в TFS реализует Сервер Team Foundation Build . Он позволяет стандартизировать инфраструктуру построений для команды проекта. Построение может выполняться в следующих режимах:
- ручной, при котором построение вручную ставится в очередь построений;
- непрерывная интеграция, которая позволяет выполнять построение при каждом возврате в систему контроля версий;
- прокрутка построений, при которой возвраты группируются вместе, чтобы в построение включались изменения за определенный период времени;
- условный возврат, при котором возвраты принимаются лишь в том случае, если успешно прошли слияния и построения отправленных изменений;
- расписание, которое позволяет настроить время построения на определенные дни недели.
Разработчик имеет возможность взаимодействовать с ключевыми службами TeamFoundationServer посредством:
- командного обозревателя (TeamExplorer) VisualStudio 2012, который предоставляет доступ к функциям управления жизненным циклом приложений, включая командные проекты, Мои работы, анализ кода, управление версиями и построениями
- доступа через веб (Team Web Access), посредством которого предоставляется веб доступ к функциям управления жизненным циклом приложений, включая командные проекты, рабочие группы, управление проектами, управление версиями и построеними;
- MicrosoftExcel, посредством которого предоставляется возможность определять и изменять рабочие элементы массивом, а также создавать отчеты на основе запроса рабочего элемента;
- MicrosoftProject, посредством которого предоставляется возможность управлять планом проекта, задачами расписания, ресурсами, формировать календарь проекта, диаграммы Ганта и представления ресурсов;
- консоли администрирования TeamFoundationServer, посредством которой осуществляется настройка TFS;
- инструментов командной строки;
- сторонних средств интеграции.
Ключевые термины
Team Foundation Server | сервер для обеспечения совместной работы команд разработчиков программного обеспечения. |
Архитектура TFS 2012 | трехуровневая сервис-ориентированная архитектура. |
Уровень данных TFS 2012 | архитектурный уровень TFS, который включает несколько реляционных баз данных и хранилище данных. |
Клиентский уровень TFS 2012 | архитектурный уровень TFS, который поддерживается в оболочке VisualStudio и веб-браузере. |
Уровень приложения TFS 2012 | архитектурный уровень TFS, который состоит из нескольких веб-служб. |
Командный проект | коллекция рабочих элементов, кода, тестов и построений, которые охватывают все артефакты, используемые в жизненном цикле программного проекта. |
Краткие итоги
MicrosoftVisualStudioTeamFoundationServer предназначен для обеспечения совместной работы команд разработчиков программного обеспечения и имеет трехуровневую сервис-ориентированную архитектуру. Клиентский уровень реализован в оболочке VisualStudioи веб-браузере. Уровень приложения TFS состоит из нескольких веб-служб. Уровень данных включает несколько реляционных баз данных и хранилище данных . РазвертываниеTFS можно выполнить на одном сервере, на нескольких серверах, в одном домене, рабочей группе или в нескольких доменах. Командный проект представляет коллекцию рабочих элементов, кода, тестов и построений. Проект строится на основе шаблонов. Рабочими элементамивTFS являются: пользовательское описание функциональности, задачи, тестовые случаи, ошибки и препятствия. TFS включает централизованную систему контроля версий. Построение проекта программного продукта в TFS реализует сервер Team Foundation Build . Разработчик имеет возможность взаимодействовать с ключевыми службами TFS посредством командного обозревателя, доступа через веб, MicrosoftExcel, MicrosoftProject, консоли администрирования TFS и инструментов командной строки.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Team Foundation Server
![]() | |
Разработчики: | Microsoft Corporation |
---|---|
Выпущена: | 2005 ; 15 years ago ( 2005 ) |
Постоянный выпуск: | 2018 |
Написана на: | C++ |
Операционная система: | Microsoft Windows |
Тип ПО: | Сервер управления версиями |
Лицензия: | Условно-бесплатное программное обеспечение (Trialware) |
Веб-сайт | visualstudio .microsoft .com |
Microsoft Visual Studio Team Foundation Server — это основа решения Microsoft для управления жизненным циклом приложения (ALM), предоставляющая базовые службы: контроль версий, отслеживание рабочих элементов, отчетность и автоматизированные построения.
Foundation Server помогает организациям эффективнее взаимодействовать и сотрудничать в процессе проектирования, разработки, тестирования и развертывания программного обеспечения. Это в конечном итоге приводит к повышению производительности и эффективности работы команды, улучшению качества и повышению прозрачности жизненного цикла приложения.
Корпорация Microsoft лицензирует Team Foundation Server в рамках модели лицензирования «сервер — клиент», следовательно организации должны иметь лицензии на каждый запущенный экземпляр Team Foundation Server (то есть на каждый сервер) и, с некоторыми исключениями, лицензии клиентского доступа на Team Foundation Server 2012 для каждого пользователя или устройства, обращающегося к Team Foundation Server. [Источник 1]
Содержание
История
TFS существует уже более десятилетия и развивается с момента его создания в 2005 году. В отрасли есть профессионалы, чья карьера полностью посвящена управлению Microsoft TFS. Практическое руководство необходимо для работы с изменениями базы данных и пакетами обновлений, которые добавляют множество новых функций. Также в 2005 году TFS было трудно использовать, потому что он был создан, когда пользовательский интерфейс (UX) не был главным приоритетом для Microsoft.
В 2012 году TFS превратился в инструмент, помогающий командам управлять проектами разработки ПО с использованием Agile. Одной из главных причин популярности Agile стало то, что компании уже имели лицензии Microsoft. Это был простой выбор.
Чтобы помочь командам управлять требованиями и ошибками, TFS создал специальный инструмент ALM. Этот легкий инструмент может управлять некоторыми требованиями, но не имеет надежной и гибкой модели, которая может поддерживать крупномасштабные глобальные команды. Когда дело доходит до тестирования, TFS не дает видимости шагов тестирования и не определяет четкой связи между ошибками и неудачными тестами.
Что касается контроля версий, у TFS было несколько разных подходов. Team Version Version Control (TFVC) была одной централизованной системой контроля версий. Эта система сохраняла исторические данные с использованием ветвей на основе маршрутов, созданных и поддерживаемых на сервере Windows. [Источник 2]
Функции
В Team Foundation Server включены следующие основные функции:
- Контроль версий для управления исходным кодом и другими результатами, требующими управления версиями.
- Отслеживание рабочих элементов для отслеживания таких вещей, как дефекты, требования, задачи и сценарии.
- Функции управления проектами, которые позволяют формировать командный проект на основе пользовательского программного процесса и позволяют планировать и отслеживать с помощью Microsoft Excel и Microsoft Project.
- Team build для обеспечения общего процесса создания исполняемых продуктов.
- Сбор данных и отчетность, которые помогают в оценке состояния командного проекта на основе информации, полученной из инструментов Team Foundation Server.
- Team Project Portal, который обеспечивает центральную точку коммуникации для командного проекта, упакованного как сайт Microsoft Windows SharePoint Services.
- Team Foundation Shared Services, которые предоставляют ряд общих инфраструктурных услуг, которые невидимы для конечных пользователей, но важны для мастеров и расширителей.
С другой стороны, Team Foundation Server — это платформа, специально созданная для интеграции и расширяемости. Клиенты и партнеры могут настраивать элементы Team Foundation Server и дополнять его новыми функциями. Расширения могут варьироваться от очень простых до самых сложных. Они могут варьироваться от переименования поля в рабочем элементе до интеграции совершенно нового инструмента.
Архитектура
Чтобы лучше планировать и управлять развертыванием, надо сначала понять базовую архитектуру Team Foundation Server (TFS) (См. Рисунок 1). Понимание архитектуры может помочь сохранить общую работоспособность развертывания и обеспечить доступность необходимых серверов и сервисов.
TFS можно развернуть несколькими способами: на одном сервере; на нескольких серверах; или в одном домене или рабочей группе или между доменами. В качестве альтернативы можно использовать Visual Studio Online, где все серверные элементы развертывания размещены самим Microsoft. Понимание архитектуры позволяет решить, какая топология наиболее соответствует определенным бизнес-потребностям и лучше управлять физическими и логическими требованиями.
Чтобы понять архитектуру TFS и то, как она влияет на развертывание, следует учесть следующее:
Логические уровни приложений, данных и клиентов Team Foundation.
Расположение физических или виртуальных серверов, на которых размещены эти уровни.
Team Foundation Build, а также количество и расположение компьютеров сборки, которые будут работать в среде, включая количество, которое может понадобиться для поддержки методов разработки.
Потенциальная потребность в Team Foundation ServerProxy.
Visual Studio Online
Microsoft предлагает вариант использования Visual Studio Online (См. Рисунок 2), где размещены все серверные аспекты развертывания. В облаке размещаются исходный код, рабочие элементы, конфигурации сборки и командные функции. С точки зрения архитектуры это значительно упрощает развертывание, поскольку единственными аспектами архитектуры, которые необходимо учитывать, являются клиентские компоненты и их доступ в Интернет.
При использовании службы для подключения к ней с помощью учетной записи Microsoft используется веб-браузер. Можно создавать командные проекты, добавлять участников в коллектив и работать так же, как при локально установленном развертывании, без дополнительных затрат на администрирование серверов. Уровень приложений, уровень данных и серверы построения размещаются в облаке с помощью платформы Microsoft Cloud и SQL Server Azure.
Модель объекта
Используя размещенную или локально развернутую архитектуру (См. Рисунок 3), можно расширить функции и возможности Team Foundation, написав приложение, основанное на объектной модели его сервера или клиента. Во всех типах развертывания можно создавать приложения, расширяющие возможности клиента. Однако если требуется расширить возможности сервера, приложение должно выполняться на сервере уровня приложений. Чтобы расширить возможности клиента, необходимо запустить приложение на том же компьютере, что и Team Explorer.
Веб-сервисы и базы данных для локальных развертываний
Team Foundation Server включает в себя набор веб-служб и баз данных, которые устанавливаются и настраиваются отдельно на сервере или серверах, на которых размещаются логические уровни приложений, данных и клиентов для Team Foundation. Некоторые функции, такие как доска задач и бэклог, основанные на командах, полностью веб-доступны и доступны исключительно через Team Web Access, веб-сервис на стороне клиента. Другие, такие как функции контроля версий, могут быть доступны через Team Web Access или через клиентское приложение.
Collection-level services
Сервисы уровня коллекции предоставляют функциональные возможности для операций на уровне коллекции командных проектов. С помощью некоторых из этих сервисов можно создавать приложения, расширяющие Team Foundation Server:
Сервисы Team Foundation Framework
- Сервис реестра
- Сервис регистрации (для совместимости с более ранними версиями Team Foundation Server)
- Сервис недвижимости
- Сервис событий
- Сервис безопасности
- Сервис определения местоположения
- Сервис управления идентификацией
Веб-сервис контроля версий
Веб-сервис отслеживания рабочих элементов
Team Foundation Build Web-сервис
Веб-сервис управления лабораторией
Веб-сервис администрирования VMM
Веб-сервис контроллера тестового агента
Server-level services
Службы уровня сервера (также известные как службы уровня приложения) предоставляют функциональные возможности для операций Team Foundation Server в качестве программного приложения. С помощью некоторых из этих служб можно создавать приложения, расширяющие Team Foundation Server: [Источник 3]
Сервисы Team Foundation Framework
- Сервис реестра
- Обслуживание событий
- Сервис Team Project Collection
- Сервис недвижимости
- Сервис безопасности
- Сервис определения местоположения
- Сервис управления идентификацией
- Сервис администрирования
- Сервис управления коллекциями
- Сервис каталогов
Уровень данных
Уровень данных включает в себя данные, хранимые процедуры и другую связанную логику. Когда вы используете Visual Studio Online, уровень данных размещается с помощью SQL Server Azure. При локальном развертывании TFS логический уровень данных состоит из следующих операционных хранилищ в SQL Server. Эти хранилища могут быть расположены на одном физическом сервере или распределены по многим серверам. С помощью некоторых из этих операционных хранилищ можно создавать приложения, расширяющие Team Foundation Server:
- База данных конфигурации (TFS_Configuration)
- Склад приложений (TFS_Warehouse)
- База данных служб аналитики (TFS_Analysis)
- Базы данных для коллекций командных проектов (TFS_CollectionName)
Уровень клиента
Уровень клиента связывается с уровнем приложения через объектную модель сервера и использует те же веб-службы, которые перечислены для этого уровня. Это верно при локальном развертывании TFS или при использовании Visual Studio Onlineю. Помимо этой модели, клиентский уровень состоит из компонентов Visual Studio Industry Partners (VSIP), интеграции Microsoft Office, интерфейсов командной строки и платформы для правил регистрации.
Информация о конфигурации
Размещенная служба зависит от клиентских служб, развернутых локально, и подключения к Интернету для приложений и уровней данных, размещенных в облаке. Локальное развертывание Team Foundation Server зависит от SQL Server, служб IIS и операционной системы Windows. В зависимости от выбранной топологии Team Foundation Server также может зависеть от служб SQL Server Reporting Services или продуктов SharePoint. Таким образом, сведения о конфигурации Team Foundation Server могут храниться в любом из следующих расположений:
- Хранилища данных IIS.
- Файлы конфигурации для Team Foundation Server.
- Источники данных для служб Reporting Services (например, данные TFSREPORTS).
- База данных конфигурации для Team Foundation Server. Реестр Team Foundation Server является частью базы данных конфигурации.
- Реестр Windows.
Кто-нибудь смог взять TFS Team Web Access и успешно предоставить его клиентам?
Мы недавно переключились с Rational stack (ClearQuest/ClearCase и т. д..) на TFS 2008 для нашей .NET группа и одна из проблем, с которыми мы сталкиваемся, — это некоторые ограничения веб-доступа командной системы в отношении того, какие рабочие элементы может просматривать клиент. Кто-нибудь смог взять TSWA и успешно предоставить его клиентам, контролируя, какие рабочие элементы они могут просматривать?
4 Ответов
Загрузите и установите пакет Visual Studio Team System Web Access 2008 SP 1 , вы получите как TSWA, так и WIWA — они будут доступны по разным URL — адресам-последнее окно установки даст вам эти URLs.
Если вы уже установили его, то я уверен, что «Wrk Item Only View» находится в подкаталоге «WIWA» корневого каталога TSWA url.
просто для справки, я недавно столкнулся с этим, и свертка безопасности, что IS tfs.
я придумал, как это сделать легко, и написал пост в блоге, чтобы сделать его более понятным для других. Я использую TFS 2010, но большинство из них относится к 2008 году.
пост находится по адресу:
В зависимости от ограничений вы можете использовать «рабочий элемент только вид», который в соответствии с Microsoft:
«Team System Web Access предоставляет представление только для рабочих элементов, которое ограничивает функциональность, так что вы можете создавать и просматривать только свои собственные рабочие элементы.»
Более подробная информация на сайте:
Вы говорите о том, что клиенты могут просматривать и создавать только свои собственные рабочие элементы на основе каждого клиента, или что-то более похожее на публичный или частный сценарий?
Если это последний вариант, вы можете создать командный проект с единственным намерением действовать в качестве центра сортировки для проблем, которые клиенты сообщают и создают. Хотя, признаюсь, это не самое чистое решение. Единственная причина, по которой я предлагаю этот вариант, заключается в том, что мы рассматриваем аналогичный подход для нашего отдела обслуживания клиентов.
Мне было бы интересно увидеть другие варианты от более опытных пользователей TFS. Мы тоже новички в партии и знаем, что мы лишь слегка поцарапали поверхность в том, что мы можем сделать с ней.
Похожие вопросы:
За последний год моя группа (около 50 инженеров) перешла на Team Foundation Server и теперь использует его для управления версиями, отслеживания ошибок и построения. У нас есть десятки тысяч строк.
Я хочу переместить физический путь веб-сайта TFS Web Access (TFS 2015 на сервере 2012 R2 и IIS 8) из пути по умолчанию C:Program FilesMicrosoft Team Foundation Server 14.0Application TierWeb.
Я хотел бы знать, есть ли возможность создать командный проект в TFS2013 в веб-интерфейсе без использования Visual Studio. Я хотел бы использовать TFS в качестве общей платформы репозитория git.
Страница tfs 2012 Web access welcome page содержит ссылку на веб-сайт администрирования. Заголовок ссылки-Administer Team Foundation Server, а url — http:// :8080/tfs/_admin . Я хотел.
Есть ли что-то вроде Vsts2010 Team System Web Access (TSWA), если да, то где он находится(веб-страница, пакет с установщиком VSTS2010), я ищу его, но Microsoft pages направляет меня на VSTS2008 TSWA.
Я использую TFS 2010 с Team Web Access, и я хочу создать пользовательскую вкладку на TWA. Это возможно, потому что http://urbanturtle.com/videos/ имеют одинаковую функциональность (они добавили две.
Я использовал инструменты TFS 2010 Power Tools для создания пользовательского поля для задачи. Пользовательское поле прекрасно отображается в Visual Studio 2010 на моей машине и машине коллег.
В TFS 2010 Team Web Access я мог открыть несколько рабочих элементов и сравнить их. В TFS 2013 команда веб-доступа к этому, кажется, не поддерживается. Каждый раз, когда вы открываете рабочий.
в моей компании у нас есть ряд клиентов и партнеров, получающих доступ к нашему порталу проекта TFS 2010 SharePoint и сайту веб-доступа команды через Интернет (https в основном, но в данном случае.
Я использую TFS 2013 с Team Web Access, и я хочу создать пользовательскую вкладку на TWA. Это возможно, потому что Urban Turtle имеет некоторую функциональность (они добавили пользовательские.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Team Foundation Server
![]() | |
Разработчики: | Microsoft Corporation |
---|---|
Выпущена: | 2005 ; 15 years ago ( 2005 ) |
Постоянный выпуск: | 2018 |
Написана на: | C++ |
Операционная система: | Microsoft Windows |
Тип ПО: | Сервер управления версиями |
Лицензия: | Условно-бесплатное программное обеспечение (Trialware) |
Веб-сайт | visualstudio .microsoft .com |
Microsoft Visual Studio Team Foundation Server — это основа решения Microsoft для управления жизненным циклом приложения (ALM), предоставляющая базовые службы: контроль версий, отслеживание рабочих элементов, отчетность и автоматизированные построения.
Foundation Server помогает организациям эффективнее взаимодействовать и сотрудничать в процессе проектирования, разработки, тестирования и развертывания программного обеспечения. Это в конечном итоге приводит к повышению производительности и эффективности работы команды, улучшению качества и повышению прозрачности жизненного цикла приложения.
Корпорация Microsoft лицензирует Team Foundation Server в рамках модели лицензирования «сервер — клиент», следовательно организации должны иметь лицензии на каждый запущенный экземпляр Team Foundation Server (то есть на каждый сервер) и, с некоторыми исключениями, лицензии клиентского доступа на Team Foundation Server 2012 для каждого пользователя или устройства, обращающегося к Team Foundation Server. [Источник 1]
Содержание
История
TFS существует уже более десятилетия и развивается с момента его создания в 2005 году. В отрасли есть профессионалы, чья карьера полностью посвящена управлению Microsoft TFS. Практическое руководство необходимо для работы с изменениями базы данных и пакетами обновлений, которые добавляют множество новых функций. Также в 2005 году TFS было трудно использовать, потому что он был создан, когда пользовательский интерфейс (UX) не был главным приоритетом для Microsoft.
В 2012 году TFS превратился в инструмент, помогающий командам управлять проектами разработки ПО с использованием Agile. Одной из главных причин популярности Agile стало то, что компании уже имели лицензии Microsoft. Это был простой выбор.
Чтобы помочь командам управлять требованиями и ошибками, TFS создал специальный инструмент ALM. Этот легкий инструмент может управлять некоторыми требованиями, но не имеет надежной и гибкой модели, которая может поддерживать крупномасштабные глобальные команды. Когда дело доходит до тестирования, TFS не дает видимости шагов тестирования и не определяет четкой связи между ошибками и неудачными тестами.
Что касается контроля версий, у TFS было несколько разных подходов. Team Version Version Control (TFVC) была одной централизованной системой контроля версий. Эта система сохраняла исторические данные с использованием ветвей на основе маршрутов, созданных и поддерживаемых на сервере Windows. [Источник 2]
Функции
В Team Foundation Server включены следующие основные функции:
- Контроль версий для управления исходным кодом и другими результатами, требующими управления версиями.
- Отслеживание рабочих элементов для отслеживания таких вещей, как дефекты, требования, задачи и сценарии.
- Функции управления проектами, которые позволяют формировать командный проект на основе пользовательского программного процесса и позволяют планировать и отслеживать с помощью Microsoft Excel и Microsoft Project.
- Team build для обеспечения общего процесса создания исполняемых продуктов.
- Сбор данных и отчетность, которые помогают в оценке состояния командного проекта на основе информации, полученной из инструментов Team Foundation Server.
- Team Project Portal, который обеспечивает центральную точку коммуникации для командного проекта, упакованного как сайт Microsoft Windows SharePoint Services.
- Team Foundation Shared Services, которые предоставляют ряд общих инфраструктурных услуг, которые невидимы для конечных пользователей, но важны для мастеров и расширителей.
С другой стороны, Team Foundation Server — это платформа, специально созданная для интеграции и расширяемости. Клиенты и партнеры могут настраивать элементы Team Foundation Server и дополнять его новыми функциями. Расширения могут варьироваться от очень простых до самых сложных. Они могут варьироваться от переименования поля в рабочем элементе до интеграции совершенно нового инструмента.
Архитектура
Чтобы лучше планировать и управлять развертыванием, надо сначала понять базовую архитектуру Team Foundation Server (TFS) (См. Рисунок 1). Понимание архитектуры может помочь сохранить общую работоспособность развертывания и обеспечить доступность необходимых серверов и сервисов.
TFS можно развернуть несколькими способами: на одном сервере; на нескольких серверах; или в одном домене или рабочей группе или между доменами. В качестве альтернативы можно использовать Visual Studio Online, где все серверные элементы развертывания размещены самим Microsoft. Понимание архитектуры позволяет решить, какая топология наиболее соответствует определенным бизнес-потребностям и лучше управлять физическими и логическими требованиями.
Чтобы понять архитектуру TFS и то, как она влияет на развертывание, следует учесть следующее:
Логические уровни приложений, данных и клиентов Team Foundation.
Расположение физических или виртуальных серверов, на которых размещены эти уровни.
Team Foundation Build, а также количество и расположение компьютеров сборки, которые будут работать в среде, включая количество, которое может понадобиться для поддержки методов разработки.
Потенциальная потребность в Team Foundation ServerProxy.
Visual Studio Online
Microsoft предлагает вариант использования Visual Studio Online (См. Рисунок 2), где размещены все серверные аспекты развертывания. В облаке размещаются исходный код, рабочие элементы, конфигурации сборки и командные функции. С точки зрения архитектуры это значительно упрощает развертывание, поскольку единственными аспектами архитектуры, которые необходимо учитывать, являются клиентские компоненты и их доступ в Интернет.
При использовании службы для подключения к ней с помощью учетной записи Microsoft используется веб-браузер. Можно создавать командные проекты, добавлять участников в коллектив и работать так же, как при локально установленном развертывании, без дополнительных затрат на администрирование серверов. Уровень приложений, уровень данных и серверы построения размещаются в облаке с помощью платформы Microsoft Cloud и SQL Server Azure.
Модель объекта
Используя размещенную или локально развернутую архитектуру (См. Рисунок 3), можно расширить функции и возможности Team Foundation, написав приложение, основанное на объектной модели его сервера или клиента. Во всех типах развертывания можно создавать приложения, расширяющие возможности клиента. Однако если требуется расширить возможности сервера, приложение должно выполняться на сервере уровня приложений. Чтобы расширить возможности клиента, необходимо запустить приложение на том же компьютере, что и Team Explorer.
Веб-сервисы и базы данных для локальных развертываний
Team Foundation Server включает в себя набор веб-служб и баз данных, которые устанавливаются и настраиваются отдельно на сервере или серверах, на которых размещаются логические уровни приложений, данных и клиентов для Team Foundation. Некоторые функции, такие как доска задач и бэклог, основанные на командах, полностью веб-доступны и доступны исключительно через Team Web Access, веб-сервис на стороне клиента. Другие, такие как функции контроля версий, могут быть доступны через Team Web Access или через клиентское приложение.
Collection-level services
Сервисы уровня коллекции предоставляют функциональные возможности для операций на уровне коллекции командных проектов. С помощью некоторых из этих сервисов можно создавать приложения, расширяющие Team Foundation Server:
Сервисы Team Foundation Framework
- Сервис реестра
- Сервис регистрации (для совместимости с более ранними версиями Team Foundation Server)
- Сервис недвижимости
- Сервис событий
- Сервис безопасности
- Сервис определения местоположения
- Сервис управления идентификацией
Веб-сервис контроля версий
Веб-сервис отслеживания рабочих элементов
Team Foundation Build Web-сервис
Веб-сервис управления лабораторией
Веб-сервис администрирования VMM
Веб-сервис контроллера тестового агента
Server-level services
Службы уровня сервера (также известные как службы уровня приложения) предоставляют функциональные возможности для операций Team Foundation Server в качестве программного приложения. С помощью некоторых из этих служб можно создавать приложения, расширяющие Team Foundation Server: [Источник 3]
Сервисы Team Foundation Framework
- Сервис реестра
- Обслуживание событий
- Сервис Team Project Collection
- Сервис недвижимости
- Сервис безопасности
- Сервис определения местоположения
- Сервис управления идентификацией
- Сервис администрирования
- Сервис управления коллекциями
- Сервис каталогов
Уровень данных
Уровень данных включает в себя данные, хранимые процедуры и другую связанную логику. Когда вы используете Visual Studio Online, уровень данных размещается с помощью SQL Server Azure. При локальном развертывании TFS логический уровень данных состоит из следующих операционных хранилищ в SQL Server. Эти хранилища могут быть расположены на одном физическом сервере или распределены по многим серверам. С помощью некоторых из этих операционных хранилищ можно создавать приложения, расширяющие Team Foundation Server:
- База данных конфигурации (TFS_Configuration)
- Склад приложений (TFS_Warehouse)
- База данных служб аналитики (TFS_Analysis)
- Базы данных для коллекций командных проектов (TFS_CollectionName)
Уровень клиента
Уровень клиента связывается с уровнем приложения через объектную модель сервера и использует те же веб-службы, которые перечислены для этого уровня. Это верно при локальном развертывании TFS или при использовании Visual Studio Onlineю. Помимо этой модели, клиентский уровень состоит из компонентов Visual Studio Industry Partners (VSIP), интеграции Microsoft Office, интерфейсов командной строки и платформы для правил регистрации.
Информация о конфигурации
Размещенная служба зависит от клиентских служб, развернутых локально, и подключения к Интернету для приложений и уровней данных, размещенных в облаке. Локальное развертывание Team Foundation Server зависит от SQL Server, служб IIS и операционной системы Windows. В зависимости от выбранной топологии Team Foundation Server также может зависеть от служб SQL Server Reporting Services или продуктов SharePoint. Таким образом, сведения о конфигурации Team Foundation Server могут храниться в любом из следующих расположений:
- Хранилища данных IIS.
- Файлы конфигурации для Team Foundation Server.
- Источники данных для служб Reporting Services (например, данные TFSREPORTS).
- База данных конфигурации для Team Foundation Server. Реестр Team Foundation Server является частью базы данных конфигурации.
- Реестр Windows.