Начало работы с Visual Studio Application Lifecycle Management

В этом разделе содержится обновленный отрывок из поста за октябрь 2009 года в блоге Джейсона Зандера, описывающего неоспоримые преимущества Visual Studio Team Foundation Server и дающего практические рекомендации по началу работы с сервером. Если вы уже знакомы с Team Foundation Server и желаете приступить к работе, в этом разделе вы также найдете ссылки на соответствующие разделы, которые окажутся полезными участникам группы разработки с разными ролями.

Зандер является корпоративным вице-президентом по Visual Studio. Снимки экрана в этом разделе обновлены и соответствуют окончательной версии продукта.

Содержание раздела

  • Учебное руководство. Начало работы с Microsoft Visual Studio Team Foundation Server 2010

  • Ролевые задачи в Team Foundation Server 2010

Учебное руководство. Начало работы с Microsoft Visual Studio Team Foundation Server 2010

Новая базовая конфигурация Team Foundation Server представляет собой простую в установке и настройке версию Team Foundation Server, поддерживающую управление источниками данных, рабочие элементы и построения. Это удобный ресурс для переноса активов Visual SourceSafe и, кроме прочего, для начала работы с новыми функциями. Мне бы хотелось дать несколько рекомендаций по началу работы с системой. 

Этот пост окажется наиболее полезным тем, кто никогда ранее не устанавливал и не пользовался Team Foundation Server. Сервер Team Foundation Server поддерживает сложные среды для составления отчетов и интеграции с продуктами SharePoint, поддерживает работу с несколькими доменами, распределенными базами данных и т. д. Я не буду освещать здесь все это. Я просто помогу вам понять, почему Team Foundation Server — это правильный выбор, и дам несколько рекомендаций по тому, как начать работу с сервером. 

Прежде всего, давайте обсудим: почему, собственно, Team Foundation Server? Сервер Team Foundation Server позволяет создать центральный репозиторий с набором инструментов, значительно облегчающих совместную работу и взаимодействие ролей. С помощью этого сервера вы сможете объединить несколько разрозненных систем следующим образом:

Почему Team Foundation Server

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

Гораздо нужнее система, позволяющая интегрировать все эти элементы и обеспечить выполнение рабочего процесса по умолчанию в этой системе.

Улучшение интеграции

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

Базовая конфигурация Team Foundation Server предоставляет такую возможность, что является значительным усовершенствованием по сравнению с обычной системой управления версиями. В полной версии Team Foundation Server доступно еще больше функций, включая автоматическое тестирование, развертывание виртуальной лаборатории, архитектурную проверку и так далее. Это расширяет возможности пользователей при реализации рабочих процессов:

Развернутый рабочий процесс

Пользователи могут принимать решение о добавлении тех или иных новых компонентов при использовании Visual Studio.

Существует множество способов осуществления доступа к Team Foundation Server. Как правило, инженер осуществляет доступ к системе с использованием версии Visual Studio. Тест-инженер может воспользоваться новым продуктом Test Manager (установка Visual Studio не требуется). Руководитель проекта может воспользоваться веб-интерфейсом, Microsoft Excel, Microsoft Project или функцией поддержки панелей мониторинга Microsoft Office SharePoint Server 2007 (впервые представлена в Visual Studio 2010). Далее я расскажу об этом более подробно. (Дополнительные сведения см. в разделе Ролевые задачи в Team Foundation Server 2010 — примечание редактора.)

В остальной части поста я подробно расскажу вам о том, как начать работу с Team Foundation Server, используя базовую конфигурацию для вашего первого проекта.

Начало работы

Получив общее представление о системе, попробуем разобраться на деле. Для начала необходимо выполнить шаги, перечисленные в посте Брайана Гарри о Team Foundation Server здесь. В результате на вашем компьютере будет установлена коллекция необходимого по умолчанию программного обеспечения, которая так и называется — коллекция по умолчанию.

На этом этапе можно осуществить подключение к коллекции Team Foundation Server из Visual Studio. Самый простой способ решить эту задачу — воспользоваться меню Team Foundation Server (можно также воспользоваться ссылкой на домашней странице).

Подключение к Team Foundation Server

Вас попросят найти сервер, на котором размещен Team Foundation Server. В данном случае мой компьютер под управлением Windows 7 называется JLZW7. Добавьте сервер в список, нажав кнопку "Добавить", и щелкните "Закрыть".

Добавление сервера

На этом этапе можно выбрать сервер из поля со списком, затем щелкнуть DefaultCollection и нажать кнопку "Подключиться":

Нажатие кнопки "Подключить"

На вкладке Сред. Командный обозреватель теперь отображается подключение к серверу и коллекция DefaultCollection, однако у нас до сих пор отсутствует проект Team Foundation Server, в котором мы могли бы что-нибудь сохранить:

Сред. Командный обозреватель

Для данного учебника я создал новый проект Windows Form, который будет использоваться в качестве примера решения (Файл > Новый проект > Windows Forms). При попытке добавления нового проекта кода в систему управления версиями возникает ошибка. Примеры.

Добавление нового проекта Windows Form

При выборе пункта меню "Добавить в систему управления версиями" возникает ошибка "Отсутствуют доступные папки системы управления версиями командного проекта".

Ошибка отсутствия папок системы управления версиями командного проекта

Разобраться в этой ошибке не просто (особенно учитывая, что слово "проект" используется и в Team Foundation Server, и в решении с кодом Visual Studio, однако означает оно разные вещи). Эта ошибка означает, что необходимо создать фактический проект Team Foundation Server, в котором содержались бы все необходимые для работы активы. Нужно щелкнуть коллекцию в Сред. Командный обозреватель правой кнопкой и выбрать "Создать командный проект".

Создание командного проекта

В данном случае я создам проект Team Foundation Server для системы Accounts Payable. В этом проекте будут содержаться все решения, данные и т. д., необходимые для работы с системой. Завершив ввод данных, нажмите кнопку "Далее":

Присвоение имени командному проекту

Шаблон Agile используется по умолчанию, однако также можно выбрать CMMI. Дополнительные сведения о типах шаблонов проекта см. на MSDN. Рекомендуется выбирать этот шаблон при использовании гибких методик (например, TDD). Выбрав шаблон, нажмите кнопку "Готово":

Выбор шаблона процесса

В процессе создания проекта пользователь видит различные обновления статусов:

Обновление состояния создания командного проекта

После успешного создания проекта нажмите кнопку "Закрыть".

Успешное создание командного проекта

Теперь на сервере Сред. Командный обозреватель имеется проект для хранения рабочих элементов, построений и системы управления версиями:

Новый проект появляется в командном обозревателе

На этом этапе можно обновить коллекцию проектов. Давайте снова добавим в Team Foundation Server новое решение. Щелкните проект правой копкой в обозревателе решений и выберите "Добавить в систему управления версиями":

Добавление решения в систему управления версиями

На этом этапе можно создать на сервере Team Foundation Server новую папку для решения или воспользоваться папкой по умолчанию. Сделав все нужные настройки, нажмите кнопку "ОК".

Решение хранилища в Team Foundation Server

После успешного выполнения этих действий в обозревателе решений будет показано, что файлы находятся в системе управления версиями (см. знак "+" перед файлами):

Обозреватель решений с только что добавленным решением

Кроме того, вы увидите список действий в системе управления версиями, предпринятых для публикации решения. Добавьте комментарий и щелкните "Вернуть":

Возврат решения в систему управления версиями

Подтвердите возврат, нажав кнопку "Да".

Подтверждение возврата

Новое решение сохранено на сервере Team Foundation Server и готово к использованию с рабочими элементами.

Рабочие элементы

Можно создавать рабочие элементы непосредственно внутри Visual Studio, используя Сред. Командный обозреватель в веб-интерфейсе и средство Test Manager. Для просмотра рабочих элементов откройте Сред. Командный обозреватель и разверните узлы "Рабочие элементы", "Командные запросы" и "Итерация 1". Затем можно дважды щелкнуть любой запрос (например, "Активные ошибки"), чтобы просмотреть доступные элементы:

Создание рабочих элементов

Проект Team Foundation Server пуст, поэтому в списке отсутствуют активные ошибки:

Командный проект без активных ошибок

Давайте создадим новый элемент, чтобы просто посмотреть, как это работает. Выберите элемент "Группа", откройте меню "Новый рабочий элемент". Здесь можно создать несколько типов рабочих элементов для отслеживания компонентов, дефектов и т. д. Для начала выберем элемент "Ошибка":

Новое меню рабочих элементов

Введите любые нужные данные о новой ошибке и щелкните "Сохранить рабочий элемент", чтобы сохранить его в базе данных:

Создание рабочего элемента ошибки

После обновления списка запросов активных ошибок вы увидите в нем новую ошибку:

Обновление запроса для просмотра новой ошибки

Добавим настоящую ошибку и исправим ее в нашем проекте. Например, я только что создал приложение Windows Forms по умолчанию. Допустим, нам нужно обновить название:

Вторая ошибка в новом проекте

А теперь нужно исправить ошибку. Вернитесь в обозреватель решений, выберите файл Form1.cs и щелкните "Извлечь для изменения":

Извлечение файла из системы управления версиями

Нажмите кнопку "Извлечь", чтобы подтвердить выбор:

Подтверждение извлечения

Рядом с именем файла появится флажок, и вы будете знать, что он доступен для редактирования:

Файл извлечен из системы управления версиями

При обновлении свойства "Текст" в главном окне Visual Studio автоматически извлекает все зависимые файлы:

Visual Studio извлекает дополнительные файлы

Это приложение Windows Forms, которое работает со всеми типами решений и проектов. Внеся необходимые изменения в код, можно перейти на вкладку "Ожидающие изменения" внизу Visual Studio:

Выбор ожидающих изменений

В данном случае исправляется ошибка, поэтому нужно нажать кнопку со значком "Рабочие элементы".

Выбор кнопки рабочего элемента

Выберите ошибку №2, соответствующую ошибке в названии. Мы устраним ошибку следующим возвратом:

Связь ошибки с возвратом

Добавьте нужные комментарии и щелкните "Вернуть", затем нажмите кнопку "Да", чтобы подтвердить выбор:

Добавление примечаний при возврате

Подтверждение возврата

После обновления ошибки №2 ее статус изменится на "Разрешено", история операций будет обновлена:

Связанная ошибка автоматически разрешается

Обратите внимание, что набор изменений (набор изменений в системе управления версиями) был автоматически включен в журнал.

В журнал добавлен набор изменений

На этом этапе можно продолжить создание и исправление ошибок для подготовки решения к поставке.

Другие способы изучения Team Foundation Server

Как я уже отмечал, не обязательно использовать Visual Studio для доступа к репозиторию Team Foundation Server. Решение хорошо интегрировано с другими клиентами (например, веб-клиентом и Microsoft Office). Например, я могу открыть веб-браузер и сразу перейти к серверу, указав имя сервера (где 8080 — порт по умолчанию): http:// jlzw7:8080/tfs/.

Переход к Team Web Access

На этом этапе можно просматривать коллекции и проекты. Если выбрать новый проект AccountsPayable, который мы только что создали, и нажать кнопку "Продолжить", можно увидеть дополнительные сведения о нем. В данном случае, перейдя на вкладку "Рабочие элементы", можно найти ошибки в системе, включая недавно исправленную нами ошибку:

Командный проект в Team Web Access

Это действительно простой способ просмотра проекта с любого компьютера без какой-либо дополнительной настройки. Подобная поддержка обеспечивается и для Microsoft Excel, Microsoft Project и т. д. Подобная система доступа упрощает взаимодействие всех специалистов, работающих над проектом (инженеров и руководителей проекта).

Вам предоставляется полезный набор средств для решения целого ряда задач. Тем из вас, кто работает с Visual SourceSafe сегодня, такого уровня знаний вполне достаточно. Вы можете отложить учебник и вернуться к нему позже, если вам потребуются какие-либо расширенные функции, например сценарий тестирования, который я продемонстрировал с использованием бета-версии 1 в этом учебнике.

Поддержка построений

Еще одной важной составляющей рабочего процесса является автоматизация построений для используемого продукта. Если вы следовали инструкциям Брайана по установке системы, на компьютере под управлением Team Foundation Server обеспечена локальная поддержка построений. Для начала нужно перейти к Сред. Командный обозреватель, щелкнуть правой кнопкой "Определения построений" и выбрать "Создать определение построения".

Создание нового определения построения

Отобразится набор определений для заполнения, как на странице свойств проекта кода.

Страница определения построения

На странице "Триггер" можно указать время запуска построений. На выбор предоставляются следующие варианты:

  • Вручную — значение по умолчанию. Именно этот вариант мы будем использовать. Запуск наших построений будет осуществляться с использованием этого варианта.

  • Непрерывная интеграция полезна в том случае, если новое построение требуется после каждого возврата. Так вы сможете немедленно проверять новые изменения, а не ждать, пока смешается несколько возвратов.

  • Последовательное построение позволяет объединять изменения в пакеты. Эта функция полезна, когда построения начинают занимать много времени и у пользователя нет возможности выполнять каждое из них по отдельности.

  • Условный возврат позволяет убедиться, что все возвраты построены перед отправкой в Team Foundation Server. Эта функция защищает от предоставления прерываний построений другим членам команды.

  • Построения по расписанию позволяет ежедневно создавать построения для опробования всеми членами команды.

Можно создать и использовать множество разных определений построений, т. е. использовать разные типы построений для решения разных задач.

При наличии свободного времени вы можете изучить все вкладки (документация по каждой из них поставляется вместе с продуктом). Необходимо разобраться, почему в области "Параметры построения по умолчанию" отображается желтый знак предупреждения. Для этого нужно предоставить построению место для хранения нового построения (в данном случае — открытый UNC-путь, созданный на компьютере):

Добавление UNC-пути в параметры построения по умолчанию

Теперь можно сохранить определение построения в Team Foundation Server. Если вернуться в Сред. Командный обозреватель, можно поместить построение проекта в очередь:

Постановка нового построения в очередь

Отобразится диалоговое окно с запросом подтверждения, в котором достаточно просто нажать кнопку "Очередь":

Запрос на постановку построения в очередь

Построение будет помещено в очередь на компьютере. Это отобразится на странице состояния.

Построение добавлено в очередь

Двойной щелчок построения в очереди позволяет просмотреть подробные сведения о состоянии построения:

Подробное состояние построения в очереди

Здесь можно просматривать предупреждения и ошибки, файл журнала, переходить к транзитному каталогу и т. д. Например, выбор ссылки "Просмотреть журнал" позволяет увидеть выполненный сценарий построения (подмножество).

Скрипт построения из файла журнала

Выбор ссылки "Открыть папку для размещения" позволяет перейти к папке для размещения:

Расположение папки размещения построения

Теперь каждый может работать с построением — выполнять ежедневное тестирование, подготавливать выпуск для клиента и т. д.

Теперь у вас есть все необходимое для полноценной работы с базовыми функциями Team Foundation Server. 

Ролевые задачи в Team Foundation Server 2010

Когда команда начинает работать с Visual Studio Application Lifecycle Management (ALM), администратор настраивает сервер, менеджер проекта создает командный проект, а другие участники команды настраивают свои рабочие среды. В остальной части раздела содержатся ссылки на материалы о начале работы с Team Foundation Server, которые окажутся полезными пользователями с разными ролями в процессе разработки ПО:

  • Администратор Team Foundation Server

  • Руководители проекта

  • Менеджеры системы управления версиями и построений

  • Отдельные участники команды

Задачи для администратора Team Foundation

  1. Если вы следовали инструкциям выше в этом разделе, сервер Team Foundation Server был установлен в базовой конфигурации. Однако может возникнуть необходимость в выполнении разных задач по установке, включая обновление предыдущей версии Team Foundation Server или выполнение выборочной установки Team Foundation Server или одного из его обязательных компонентов.

    Дополнительные сведения см. в следующем разделе на веб-сайте Майкрософт: Руководство по установке Team Foundation.

  2. Если вы следовали инструкциям выше в этом разделе, во время установки Team Foundation Server вам были автоматически предоставлены все необходимые разрешения для создания проекта. Возможно, потребуется предоставить другим пользователям разрешения, необходимые им для выполнения функций администратора, администратора проекта и других.

    Дополнительные сведения см. в разделе Настройка пользователей, групп и разрешений.

  3. Создание плана обслуживания, предполагающего создание резервных копий данных на случай сбоя оборудования или другого непредвиденного события. Дополнительные сведения см. в разделе Резервное копирование и восстановление развернутых продуктов.

  4. Если какая-либо команда будет использовать Visual Studio Lab Management, установите диспетчер Microsoft System Center Virtual Machine Manager, настройте Lab Management и создайте собственные виртуальные среды.

    Дополнительные сведения см. в разделе Первая настройка Lab Management.

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

    Дополнительные сведения см. в разделе Настройка тестовых компьютеров для выполнения тестов или сбора данных.

  6. Если вы следовали инструкциям выше в этом разделе, сервер Team Foundation Build был установлен в базовой конфигурации. Однако чтобы получить нужную среду построения может потребоваться выполнить ряд задач по управлению системой.

    Дополнительные сведения см. в разделе Администрирование Team Foundation Build.

  7. Пересмотр параметров системы с целью изменения развернутой системы в соответствии с изменением операционных потребностей. Дополнительные сведения см. в разделе Управление конфигурацией сервера.

Задачи для менеджера проектов

  1. Установка клиента или клиентов Team Foundation, которые будут использоваться в проекте.

    Дополнительные сведения см. в разделе Установка Visual Studio.

  2. Определение требований проекта к ресурсам и выбор коллекции проектов, в которой будет создан командный проект.

    Дополнительные сведения см. в разделе Краткое руководство по запуску командного проекта.

  3. Выбор шаблона процесса

    Дополнительные сведения см. в разделе Выбор шаблона процесса.

  4. Создание командного проекта в Сред. Командный обозреватель.

    Дополнительные сведения см. в разделе Создание командного проекта.

  5. (Необязательно) Определение области продукта и контрольных этапов командного проекта.

    Дополнительные сведения см. в разделе Создание и изменение областей и итераций.

  6. Предоставление участникам команды разрешений, необходимых для работы над командным проектом.

    Дополнительные сведения см. в разделе Добавление пользователей в командные проекты.

  7. (Необязательно) Предоставление определенным участникам команды дополнительных разрешений

    Администратору может потребоваться предоставить дополнительные разрешения участникам команды, которые будут отвечать за управление исходным кодом в Team Foundation (подсистема контроля версий), построениями, тестами и лабораторной средой для тестирования, а также за другие задачи уровня проекта. Разрешения можно назначать отдельным участникам команды или группам.

    Дополнительные сведения см. в следующих разделах документа Разрешения Team Foundation Server.

    • Разрешения уровня построения

    • Разрешения уровня проекта

    • Разрешения уровня области и итерации для отслеживания рабочих элементов

    • Разрешения системы управления версиями

    • Разрешения на управление лабораторной средой

  8. (Необязательно) Предоставление авторам отчетов дополнительных разрешений.

    Для создания или изменения отчетов, которые обращаются к данным, хранящимся в хранилище данных, участники команды должны иметь доступ на чтение к базам данных, из которых состоит хранилище. Дополнительные сведения см. в разделе Предоставление доступа к базам данных хранилища данных для Visual Studio ALM.

  9. Уведомление участников команды о ресурсах командного проекта и действиях по регистрации

    Дополнительные сведения см. в разделе Уведомление членов команды о ресурсах командного проекта.

  10. Планирование продукта

    Если командный проект основан на шаблоне процесса MSF для гибкой разработки программного обеспечения версии 5.0, создать список невыполненных работ по продукту можно с помощью книги "Планирование продукта". Книга "Планирование продукта" используется для управления невыполненными описаниями функциональности пользователя и равномерного распределения рабочей нагрузки в рамках нескольких итераций, также называемых спринтами. Дополнительные сведения см. в разделе Книга "Планирование продукта".

    Если командный проект основан на шаблоне процесса MSF для улучшения процесса CMMI версии 5.0, начать планирование продукта можно с помощью командного запроса "Требования к продукту". Можно открыть этот запрос в Office Excel, добавить требования, а затем опубликовать их в Team Foundation. Также для планирования и составления графика проекта можно использовать Office Project. Дополнительные сведения см. в следующих разделах.

Задачи для менеджеров системы управления версиями и построений

  1. Настройка управления версиями.

    Дополнительные сведения см. в разделе Администрирование системы управления версиями Team Foundation.

  2. Если используется Team Foundation Build, создайте определения построения для каждого командного проекта.

    Дополнительные сведения см. в разделе Построение приложения.

Задачи для отдельных участников команды

  1. Установите клиент или клиенты Team Foundation, которые будут использоваться в проекте.

    Дополнительные сведения см. в разделе Установка Visual Studio.

  2. Настройте рабочую область для управления версиями.

    Дополнительные сведения см. в разделах Создание рабочей области для работы с командным проектом и Помещение файлов под контроль системы управления версиями.

  3. Общие сведения о создании, изменении, поиске задач и других рабочих элементов.

    Дополнительные сведения см. в разделе Приступая к отслеживанию работ.

См. также

Основные понятия

Visual Studio Application Lifecycle Management