- Национальная библиотека им. Н. Э. Баумана Bauman National Library
- Персональные инструменты
- Team Foundation Server
- Содержание
- История
- Функции
- Архитектура
- Visual Studio Online
- Модель объекта
- Веб-сервисы и базы данных для локальных развертываний
- Collection-level services
- Server-level services
- Уровень данных
- Уровень клиента
- Информация о конфигурации
- Настройка Team Foundation Server для веб-развертывания Configuring Team Foundation Server for Web Deployment
- Контекст Context
- Общие сведения о сценарии Scenario Overview
- Как использовать этот учебник How to Use This Tutorial
- Ключевые технологии Key Technologies
- Другие учебники в этой серии Other Tutorials in This Series
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Team Foundation Server
Разработчики: | Microsoft Corporation |
---|---|
Выпущена: | 2005 ; 16 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.
Настройка Team Foundation Server для веб-развертывания Configuring Team Foundation Server for Web Deployment
В этом учебнике показано, как настроить Team Foundation Server (TFS) 2010 для создания решений и развертывания веб-содержимого в различных целевых средах. This tutorial will show you how to configure Team Foundation Server (TFS) 2010 to build solutions and deploy web content to various target environments. Сюда входят сценарии непрерывной интеграции (CI), в которых содержимое развертывается автоматически каждый раз, когда разработчик вносит изменения. This includes continuous integration (CI) scenarios, where you deploy content automatically every time a developer makes a change. Он также может включать сценарии триггера вручную, где администратор может активировать развертывание определенной сборки в промежуточной среде после проверки и проверки сборки в тестовой среде. It can also include manual trigger scenarios, where an administrator may want to trigger deployment of a specific build to a staging environment once the build has been verified and validated in the test environment. Подразделы этого руководства помогут выполнить весь процесс настройки, в том числе: The topics in this tutorial will guide you through the entire configuration process, including:
- Создание нового командного проекта в TFS. How to create a new team project in TFS.
- Добавление содержимого в систему управления версиями. How to add content to source control.
- Настройка сервера сборки для поддержки CI и развертывания. How to configure a build server to support CI and deployment.
- Создание определения сборки, включающего в себя логику развертывания. How to create a build definition that includes deployment logic.
- Настройка разрешений для автоматического развертывания. How to configure permissions for automated deployment.
Для итальянского перевода этих руководств посетите http://www.lucamorelli.it. For an Italian translation of these tutorials, visit http://www.lucamorelli.it.
В этом руководстве предполагается, что вы установили TFS 2010 и создали коллекцию командных проектов в процессе начальной настройки. This tutorial assumes that you have installed TFS 2010 and created a team project collection as part of the initial configuration process. Руководство по установке Team Foundation для Visual Studio 2010 предоставляет исчерпывающие рекомендации по этим задачам. The Team Foundation Installation Guide for Visual Studio 2010 provides comprehensive guidance on these tasks.
Контекст Context
Эта форма является частью серии руководств, основанных на требованиях Enterprise к развертыванию вымышленной компании Fabrikam, Inc. В этой серии руководств используется пример решения— диспетчера контактов —для представления веб-приложения с реалистичным уровнем сложности, включая приложение ASP.NET MVC 3, службу Windows Communication Foundation (WCF) и проект базы данных. This forms part of a series of tutorials based on the enterprise deployment requirements of a fictional company named Fabrikam, Inc. This tutorial series uses a sample solution—the Contact Manager solution—to represent a web application with a realistic level of complexity, including an ASP.NET MVC 3 application, a Windows Communication Foundation (WCF) service, and a database project.
Метод развертывания в сердце этих учебников основан на подходе к файлам проекта Split, описанному в разделе понимание процесса сборки, в котором процесс сборки управляется двумя файлами—проекта, содержащими инструкции по сборке, которые применяются к каждой целевой среде, и одна содержит параметры сборки и развертывания, относящиеся к конкретной среде. The deployment method at the heart of these tutorials is based on the split project file approach described in Understanding the Build Process, in which the build process is controlled by two project files—one containing build instructions that apply to every destination environment, and one containing environment-specific build and deployment settings. Во время сборки файл проекта, зависящий от среды, объединяется в файл проекта независимо от среды, чтобы сформировать полный набор инструкций по сборке. At build time, the environment-specific project file is merged into the environment-agnostic project file to form a complete set of build instructions.
Общие сведения о сценарии Scenario Overview
Сценарий высокого уровня для этих учебников описан в статье Обзор корпоративного веб-развертывания. The high-level scenario for these tutorials is described in Enterprise Web Deployment: Scenario Overview. Рекомендуется ознакомиться с этим разделом, прежде чем приступить к работе с этим руководством. We recommend that you review this topic before you get started on this tutorial.
Как использовать этот учебник How to Use This Tutorial
Если вы впервые выполнили задачи, описанные в этом учебнике, или хотите следовать примерам с помощью примера решения, следуйте инструкциям в руководстве по порядку. If this is the first time you’ve performed the tasks described in this tutorial, or if you want to follow the examples using the sample solution, you should work through the tutorial topics in order. Кроме того, в качестве руководства по конкретным задачам можно использовать отдельные разделы. Alternatively, you can use individual topics as guidance for specific tasks. В этом учебнике рассматриваются следующие темы: This tutorial includes these topics:
- Создание командного проекта в TFS. Creating a Team Project in TFS. Командный проект — это основная единица для управления исходным кодом, управления процессами и сборки в TFS. A team project is the core unit for source control, process management, and build in TFS. Перед добавлением содержимого в систему управления версиями или созданием определений сборки необходимо создать командный проект. You need to create a team project before you can add content to source control or create build definitions.
- Добавление содержимого в систему управления версиями. Adding Content to Source Control. После создания командного проекта можно приступить к добавлению содержимого в систему управления версиями. Once you’ve created a team project, you can start adding content to source control. Перед началом настройки сборок необходимо добавить проекты и решения вместе с любыми внешними зависимостями. You’ll need to add your projects and solutions, together with any external dependencies, before you can start configuring builds.
- Настройка сервера сборки TFS для веб-развертывания. Configuring a TFS Build Server for Web Deployment. Если требуется выполнить сборку содержимого командного проекта, необходимо настроить сервер сборки. If you want to build your team project content, you’ll need to configure a build server. В большинстве случаев это должно быть на отдельном компьютере из установки TFS. In most cases, this should be on a separate machine from your TFS installation. Чтобы настроить сервер сборки, необходимо установить и настроить службу сборки TFS, установить Visual Studio 2010, создать контроллеры сборки и агенты сборки, установить все продукты или компоненты, необходимые коду для успешной сборки, и установить Средство веб-развертывания службы IIS (IIS) (веб-развертывание). To configure a build server, you need to install and configure the TFS build service, install Visual Studio 2010, create build controllers and build agents, install any products or components that your code needs in order to build successfully, and install the Internet Information Services (IIS) Web Deployment Tool (Web Deploy).
- Создание определения сборки, поддерживающего развертывание. Creating a Build Definition That Supports Deployment. Перед запуском постановки в очередь или запуском сборок в TFS необходимо создать по крайней мере одно определение сборки для командного проекта. Before you can start queuing or triggering builds in TFS, you need to create at least one build definition for your team project. Определение сборки определяет все аспекты сборки, в том числе сведения о том, какие элементы должны включаться в сборку, что должен активировать сборку и куда Team Build должен отправить выходные данные сборки. The build definition defines every aspect of the build, including which things should be included in the build, what should trigger the build, and where Team Build should send the build outputs. Определение сборки можно настроить для выполнения пользовательских файлов проекта Microsoft Build Engine (MSBuild), что позволяет включать логику развертывания в автоматические сборки. You can configure a build definition to run custom Microsoft Build Engine (MSBuild) project files, which lets you include deployment logic in your automated builds.
- Развертывание определенной сборки. Deploying a Specific Build. В большинстве случаев требуется развернуть определенную сборку, а не последнюю сборку, в целевую среду. In a lot of scenarios, you’ll want to deploy a specific build, rather than the latest build, to a target environment. В этом случае можно настроить определение сборки, которое развертывает содержимое из указанной папки сброса. In this case, you can configure a build definition that deploys content from a specific drop folder.
- Настройка разрешений для развертывания Team Build. Configuring Permissions for Team Build Deployment. Если служба сборки предназначена для развертывания содержимого в ходе автоматизированного процесса сборки, необходимо предоставить учетной записи службы сборки различные разрешения на всех целевых веб-серверах и серверах баз данных. If the build service is to deploy content as part of an automated build process, you need to grant various permissions to the build service account on any destination web servers and database servers.
Ключевые технологии Key Technologies
В этом учебнике рассматривается использование этих продуктов и технологий для поддержки автоматизированной сборки и веб-развертывания. This tutorial focuses on how to use these products and technologies to support automated build and web deployment:
- Visual Studio Team Foundation Server 2010 Visual Studio Team Foundation Server 2010
- Team Build и MSBuild Team Build and MSBuild
- Web Deploy Web Deploy
Учебник также касается использования Windows Server 2008 R2, IIS 7,5, SQL Server 2008 R2, ASP.NET 4,0 и ASP.NET MVC 3. The tutorial also touches on the use of Windows Server 2008 R2, IIS 7.5, SQL Server 2008 R2, ASP.NET 4.0, and ASP.NET MVC 3.
Другие учебники в этой серии Other Tutorials in This Series
Эта форма является частью серии из пяти руководств по развертыванию веб-сайта в масштабе предприятия. This forms part of a series of five tutorials on enterprise-scale web deployment. Ниже приведены другие руководства серии. These are the other tutorials in the series:
- Развертывание веб-приложений в корпоративных сценариях. Deploying Web Applications in Enterprise Scenarios. Это начальное содержимое, которое содержит контекстный фон для серии руководств. This introductory content provides the contextual background for the tutorial series. В нем описывается сценарий учебника и показано, как задачи и пошаговые руководства, описанные в ряде, соответствуют более широкому процессу управления жизненным циклом приложений (ALM). It describes the tutorial scenario, and it illustrates how the tasks and walkthroughs described throughout the series fit into a broader Application Lifecycle Management (ALM) process.
- Веб-развертывание на предприятии. Web Deployment in the Enterprise. В этом учебнике приводятся общие сведения о файлах проекта MSBuild, конвейере веб-публикаций (WPP), веб-развертывание и других связанных технологиях. This tutorial provides a conceptual introduction to MSBuild project files, the Web Publishing Pipeline (WPP), Web Deploy, and other related technologies. В нем объясняется, как можно использовать эти инструменты совместно для управления сложными процессами развертывания. It explains how you can use these tools together to manage complex deployment processes.
- Настройка серверных сред для веб-развертывания. Configuring Server Environments for Web Deployment. В этом учебнике описывается настройка серверов Windows для поддержки различных сценариев развертывания, включая удаленное развертывание веб-пакетов с помощью службы веб-Deployment Agent (удаленный агент) или обработчика веб-развертывание и удаленного развертывания базы данных. This tutorial describes how to configure Windows servers to support various deployment scenarios, including remote web package deployment using the Web Deployment Agent Service (the remote agent) or the Web Deploy Handler and remote database deployment. Он содержит рекомендации по выбору соответствующего метода развертывания для собственной среды и описывает, как использовать платформу веб-фермы (WFF) для репликации развернутых веб-приложений на всех веб-серверах в ферме серверов. It provides guidance on choosing the appropriate deployment method for your own environment, and it describes how to use the Web Farm Framework (WFF) to replicate deployed web applications across all the web servers in a server farm.
- Расширенное корпоративное веб-развертывание. Advanced Enterprise Web Deployment. В этом учебнике описывается выполнение различных более сложных задач развертывания, таких как настройка развертываний баз данных для нескольких сред, исключение файлов и папок из развертывания и перевод веб-приложений в автономный режим в процессе развертывания. . This tutorial describes how to accomplish various more advanced deployment tasks, like customizing database deployments for multiple environments, excluding files and folders from deployment, and taking web applications offline during the deployment process.