Начало работы с 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 доступно еще больше функций, включая автоматическое тестирование, развертывание виртуальной лаборатории, архитектурную проверку и так далее. Это расширяет возможности пользователей при реализации рабочих процессов:
Пользователи могут принимать решение о добавлении тех или иных новых компонентов при использовании 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. В данном случае мой компьютер под управлением Windows 7 называется JLZW7. Добавьте сервер в список, нажав кнопку "Добавить", и щелкните "Закрыть".
На этом этапе можно выбрать сервер из поля со списком, затем щелкнуть DefaultCollection и нажать кнопку "Подключиться":
На вкладке Сред. Командный обозреватель теперь отображается подключение к серверу и коллекция DefaultCollection, однако у нас до сих пор отсутствует проект Team Foundation Server, в котором мы могли бы что-нибудь сохранить:
Для данного учебника я создал новый проект Windows Form, который будет использоваться в качестве примера решения (Файл > Новый проект > Windows Forms). При попытке добавления нового проекта кода в систему управления версиями возникает ошибка. Примеры.
При выборе пункта меню "Добавить в систему управления версиями" возникает ошибка "Отсутствуют доступные папки системы управления версиями командного проекта".
Разобраться в этой ошибке не просто (особенно учитывая, что слово "проект" используется и в 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 и готово к использованию с рабочими элементами.
Рабочие элементы
Можно создавать рабочие элементы непосредственно внутри Visual Studio, используя Сред. Командный обозреватель в веб-интерфейсе и средство Test Manager. Для просмотра рабочих элементов откройте Сред. Командный обозреватель и разверните узлы "Рабочие элементы", "Командные запросы" и "Итерация 1". Затем можно дважды щелкнуть любой запрос (например, "Активные ошибки"), чтобы просмотреть доступные элементы:
Проект Team Foundation Server пуст, поэтому в списке отсутствуют активные ошибки:
Давайте создадим новый элемент, чтобы просто посмотреть, как это работает. Выберите элемент "Группа", откройте меню "Новый рабочий элемент". Здесь можно создать несколько типов рабочих элементов для отслеживания компонентов, дефектов и т. д. Для начала выберем элемент "Ошибка":
Введите любые нужные данные о новой ошибке и щелкните "Сохранить рабочий элемент", чтобы сохранить его в базе данных:
После обновления списка запросов активных ошибок вы увидите в нем новую ошибку:
Добавим настоящую ошибку и исправим ее в нашем проекте. Например, я только что создал приложение Windows Forms по умолчанию. Допустим, нам нужно обновить название:
А теперь нужно исправить ошибку. Вернитесь в обозреватель решений, выберите файл Form1.cs и щелкните "Извлечь для изменения":
Нажмите кнопку "Извлечь", чтобы подтвердить выбор:
Рядом с именем файла появится флажок, и вы будете знать, что он доступен для редактирования:
При обновлении свойства "Текст" в главном окне Visual Studio автоматически извлекает все зависимые файлы:
Это приложение Windows Forms, которое работает со всеми типами решений и проектов. Внеся необходимые изменения в код, можно перейти на вкладку "Ожидающие изменения" внизу Visual Studio:
В данном случае исправляется ошибка, поэтому нужно нажать кнопку со значком "Рабочие элементы".
Выберите ошибку №2, соответствующую ошибке в названии. Мы устраним ошибку следующим возвратом:
Добавьте нужные комментарии и щелкните "Вернуть", затем нажмите кнопку "Да", чтобы подтвердить выбор:
После обновления ошибки №2 ее статус изменится на "Разрешено", история операций будет обновлена:
Обратите внимание, что набор изменений (набор изменений в системе управления версиями) был автоматически включен в журнал.
На этом этапе можно продолжить создание и исправление ошибок для подготовки решения к поставке.
Другие способы изучения Team Foundation Server
Как я уже отмечал, не обязательно использовать Visual Studio для доступа к репозиторию Team Foundation Server. Решение хорошо интегрировано с другими клиентами (например, веб-клиентом и Microsoft Office). Например, я могу открыть веб-браузер и сразу перейти к серверу, указав имя сервера (где 8080 — порт по умолчанию): http:// jlzw7:8080/tfs/.
На этом этапе можно просматривать коллекции и проекты. Если выбрать новый проект AccountsPayable, который мы только что создали, и нажать кнопку "Продолжить", можно увидеть дополнительные сведения о нем. В данном случае, перейдя на вкладку "Рабочие элементы", можно найти ошибки в системе, включая недавно исправленную нами ошибку:
Это действительно простой способ просмотра проекта с любого компьютера без какой-либо дополнительной настройки. Подобная поддержка обеспечивается и для Microsoft Excel, Microsoft Project и т. д. Подобная система доступа упрощает взаимодействие всех специалистов, работающих над проектом (инженеров и руководителей проекта).
Вам предоставляется полезный набор средств для решения целого ряда задач. Тем из вас, кто работает с Visual SourceSafe сегодня, такого уровня знаний вполне достаточно. Вы можете отложить учебник и вернуться к нему позже, если вам потребуются какие-либо расширенные функции, например сценарий тестирования, который я продемонстрировал с использованием бета-версии 1 в этом учебнике.
Поддержка построений
Еще одной важной составляющей рабочего процесса является автоматизация построений для используемого продукта. Если вы следовали инструкциям Брайана по установке системы, на компьютере под управлением Team Foundation Server обеспечена локальная поддержка построений. Для начала нужно перейти к Сред. Командный обозреватель, щелкнуть правой кнопкой "Определения построений" и выбрать "Создать определение построения".
Отобразится набор определений для заполнения, как на странице свойств проекта кода.
На странице "Триггер" можно указать время запуска построений. На выбор предоставляются следующие варианты:
Вручную — значение по умолчанию. Именно этот вариант мы будем использовать. Запуск наших построений будет осуществляться с использованием этого варианта.
Непрерывная интеграция полезна в том случае, если новое построение требуется после каждого возврата. Так вы сможете немедленно проверять новые изменения, а не ждать, пока смешается несколько возвратов.
Последовательное построение позволяет объединять изменения в пакеты. Эта функция полезна, когда построения начинают занимать много времени и у пользователя нет возможности выполнять каждое из них по отдельности.
Условный возврат позволяет убедиться, что все возвраты построены перед отправкой в Team Foundation Server. Эта функция защищает от предоставления прерываний построений другим членам команды.
Построения по расписанию позволяет ежедневно создавать построения для опробования всеми членами команды.
Можно создать и использовать множество разных определений построений, т. е. использовать разные типы построений для решения разных задач.
При наличии свободного времени вы можете изучить все вкладки (документация по каждой из них поставляется вместе с продуктом). Необходимо разобраться, почему в области "Параметры построения по умолчанию" отображается желтый знак предупреждения. Для этого нужно предоставить построению место для хранения нового построения (в данном случае — открытый 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
Если вы следовали инструкциям выше в этом разделе, сервер Team Foundation Server был установлен в базовой конфигурации. Однако может возникнуть необходимость в выполнении разных задач по установке, включая обновление предыдущей версии Team Foundation Server или выполнение выборочной установки Team Foundation Server или одного из его обязательных компонентов.
Дополнительные сведения см. в следующем разделе на веб-сайте Майкрософт: Руководство по установке Team Foundation.
Если вы следовали инструкциям выше в этом разделе, во время установки Team Foundation Server вам были автоматически предоставлены все необходимые разрешения для создания проекта. Возможно, потребуется предоставить другим пользователям разрешения, необходимые им для выполнения функций администратора, администратора проекта и других.
Дополнительные сведения см. в разделе Настройка пользователей, групп и разрешений.
Создание плана обслуживания, предполагающего создание резервных копий данных на случай сбоя оборудования или другого непредвиденного события. Дополнительные сведения см. в разделе Резервное копирование и восстановление развернутых продуктов.
Если какая-либо команда будет использовать Visual Studio Lab Management, установите диспетчер Microsoft System Center Virtual Machine Manager, настройте Lab Management и создайте собственные виртуальные среды.
Дополнительные сведения см. в разделе Первая настройка Lab Management.
Если какая-либо команда будет развертывать построения и выполнять тестирование в удаленном режиме, установите контроллеры и агенты тестирования на физических компьютерах или виртуальных машинах.
Дополнительные сведения см. в разделе Настройка тестовых компьютеров для выполнения тестов или сбора данных.
Если вы следовали инструкциям выше в этом разделе, сервер Team Foundation Build был установлен в базовой конфигурации. Однако чтобы получить нужную среду построения может потребоваться выполнить ряд задач по управлению системой.
Дополнительные сведения см. в разделе Администрирование Team Foundation Build.
Пересмотр параметров системы с целью изменения развернутой системы в соответствии с изменением операционных потребностей. Дополнительные сведения см. в разделе Управление конфигурацией сервера.
Задачи для менеджера проектов
Установка клиента или клиентов Team Foundation, которые будут использоваться в проекте.
Дополнительные сведения см. в разделе Установка Visual Studio.
Определение требований проекта к ресурсам и выбор коллекции проектов, в которой будет создан командный проект.
Дополнительные сведения см. в разделе Краткое руководство по запуску командного проекта.
Выбор шаблона процесса
Дополнительные сведения см. в разделе Выбор шаблона процесса.
Создание командного проекта в Сред. Командный обозреватель.
Дополнительные сведения см. в разделе Создание командного проекта.
(Необязательно) Определение области продукта и контрольных этапов командного проекта.
Дополнительные сведения см. в разделе Создание и изменение областей и итераций.
Предоставление участникам команды разрешений, необходимых для работы над командным проектом.
Дополнительные сведения см. в разделе Добавление пользователей в командные проекты.
(Необязательно) Предоставление определенным участникам команды дополнительных разрешений
Администратору может потребоваться предоставить дополнительные разрешения участникам команды, которые будут отвечать за управление исходным кодом в Team Foundation (подсистема контроля версий), построениями, тестами и лабораторной средой для тестирования, а также за другие задачи уровня проекта. Разрешения можно назначать отдельным участникам команды или группам.
Дополнительные сведения см. в следующих разделах документа Разрешения Team Foundation Server.
Разрешения уровня построения
Разрешения уровня проекта
Разрешения уровня области и итерации для отслеживания рабочих элементов
Разрешения системы управления версиями
Разрешения на управление лабораторной средой
(Необязательно) Предоставление авторам отчетов дополнительных разрешений.
Для создания или изменения отчетов, которые обращаются к данным, хранящимся в хранилище данных, участники команды должны иметь доступ на чтение к базам данных, из которых состоит хранилище. Дополнительные сведения см. в разделе Предоставление доступа к базам данных хранилища данных для Visual Studio ALM.
Уведомление участников команды о ресурсах командного проекта и действиях по регистрации
Дополнительные сведения см. в разделе Уведомление членов команды о ресурсах командного проекта.
Планирование продукта
Если командный проект основан на шаблоне процесса MSF для гибкой разработки программного обеспечения версии 5.0, создать список невыполненных работ по продукту можно с помощью книги "Планирование продукта". Книга "Планирование продукта" используется для управления невыполненными описаниями функциональности пользователя и равномерного распределения рабочей нагрузки в рамках нескольких итераций, также называемых спринтами. Дополнительные сведения см. в разделе Книга "Планирование продукта".
Если командный проект основан на шаблоне процесса MSF для улучшения процесса CMMI версии 5.0, начать планирование продукта можно с помощью командного запроса "Требования к продукту". Можно открыть этот запрос в Office Excel, добавить требования, а затем опубликовать их в Team Foundation. Также для планирования и составления графика проекта можно использовать Office Project. Дополнительные сведения см. в следующих разделах.
Задачи для менеджеров системы управления версиями и построений
Настройка управления версиями.
Дополнительные сведения см. в разделе Администрирование системы управления версиями Team Foundation.
Если используется Team Foundation Build, создайте определения построения для каждого командного проекта.
Дополнительные сведения см. в разделе Построение приложения.
Задачи для отдельных участников команды
Установите клиент или клиенты Team Foundation, которые будут использоваться в проекте.
Дополнительные сведения см. в разделе Установка Visual Studio.
Настройте рабочую область для управления версиями.
Дополнительные сведения см. в разделах Создание рабочей области для работы с командным проектом и Помещение файлов под контроль системы управления версиями.
Общие сведения о создании, изменении, поиске задач и других рабочих элементов.
Дополнительные сведения см. в разделе Приступая к отслеживанию работ.