- •1. Назначение и принципы функционирования Microsoft Team Foundation Server
- •3. Основные понятия, операции и инструменты системы управления версиями
- •3.1. Рабочая область
- •3.2. Обозреватель управления исходным кодом
- •3.1. Основные операции системы управления версиями
- •Создание рабочей области вручную.
- •Почему некоторые функции недоступны?
- •Почему в рабочей области имеются различные сопоставления?
- •Добавление и удаление рабочей папки в рабочей области
- •Добавление папки в рабочую область
- •Удаление рабочей папки из рабочей области
- •Изменение рабочей области
- •Маскировка и отмена маскировки папок в рабочей области
- •Visual Studio 2010
- •Маскировка папок в рабочей области
- •4. Нажмите кнопку ок, чтобы закрыть "Изменение рабочих областей", и кнопку "Закрыть", чтобы закрыть "Управление рабочими областями".
- •Отмена маскировки папок в рабочей области
- •Автономная работа в случае недоступности сервера
- •Visual Studio 2010
- •Работа с файлами из системы управления версиями, когда сервер недоступен
- •Передача автономных изменений на сервер, когда он доступен
- •Добавление решения в систему управления версиями
- •Создание решения и его добавление в систему управления версиями
- •Добавление в систему управления версиями файла, не принадлежащего решению
- •5. Заключение
- •Содержание
1. Назначение и принципы функционирования Microsoft Team Foundation Server
Microsoft Team Foundation Server (TFS) — это платформа для организации совместной работы группы разработчиков при управлении жизненным циклом приложений, разрабатываемых в среде Visual Studio. Сервер TFS предоставляет базовые услуги, такие как управление версиями, отслеживание рабочих элементов проекта и ошибок, автоматизация построения приложений, а также хранилище данных. Мощные средства составления отчетов и панели мониторинга позволяют получить представление об общем состоянии проекта и тенденциях его изменения в прошлом, помогают своевременно обнаруживать потенциальные проблемы и принимать взвешенные решения для возможного изменения параметров проекта. Кроме того, гибкие средства планирования и интеграция с Microsoft Project и Project Server помогают планировать проекты и управлять ими. Общая структура TFS представлена на Рис. 1.
Рис. 1. Структура TFS.
TFS работает по трёхуровневой архитектуре: клиентский уровень, прикладной уровеньиуровень данных.Клиентский уровень используется для создания и управления проектами, а также для доступа к хранимым и управляемым элементам проекта. На этом уровне TFS не содержит никаких интерфейсов пользователя, но предоставляет веб-сервисы, которые могут быть использованы клиентскими приложениями для самостоятельной интеграции в функциональность TFS. Эти веб-сервисы используются такими приложениями, как Visual Studio 2010. Сами веб-сервисы находятся на прикладном уровне. Прикладной уровень включает в себя веб-портал и репозиторий (хранилище) документации, основанный на Windows SharePoint 2010. Веб-портал, называемый Team Project Portal (портал командного проекта), выступает в роли центра взаимодействия для проектов, управляемых TFS. Репозиторий используется как для элементов проекта (исходных файлов программы, документов для управления деятельностью рабочих групп и т.д.), так и для отслеживания их ревизий и генерации отчетов. Уровень данных, основанный на использовании Microsoft SQL Server 2010, обеспечивает хранение данных в репозитории документов. Уровень данных и уровень приложений могут существовать на различных физических или виртуальных серверах при использовании Windows 2008. Уровень данных не взаимодействует с клиентским уровнем напрямую, только через прикладной уровень. Большая часть действий в TFS происходит с «рабочими элементами» проекта. Рабочими элементами называются отдельные единицы (шаги) процесса реализации проекта, выполняемые поочередно. Рабочие элементы могут быть нескольких типов, например Ошибка, Задача, Требование качества, Сценарий и т. д. Эти элементы хранятся в формате XML и могут быть легко модифицированы путем добавления новых атрибутов или создания новых элементов. Каждый рабочий элемент имеет соответствующие методики контроля, которые определяют, кому какие именно элементы доступны и какие действия он с ними может производить (просмотр, редактирование, создание, удаление и др.). Также подразумевается использование уведомлений и возможность ведения файлов протокола для отслеживания истории всего процесса разработки проекта, обращений членов рабочей группы к элементу или его изменений. Также предусматривается дополнительное уведомление определенных членов рабочей группы при наступлении определенных событий. Проект включает в себя пользовательские рабочие элементы, версии (ветки) исходного кода, отчеты, управляемые TFS. При создании нового проекта нужно выбрать шаблон программной разработки, который впоследствии сменить нельзя. TFS включает в себя несколько наиболее распространенных шаблонов. Выбор шаблона наполняет проект заранее предопределенными элементами, такими как, например, роли и полномочия членов рабочей группы. При этом автоматически формируются шаблоны различной документации. Статус элементов проекта может автоматически обновляться при изменении рабочих элементов. TFS можно интегрировать с Microsoft Excel для создания и отслеживания элементов проекта. Статус элементов в этом случае можно указывать и редактировать непосредственно в Excel, а итоговые таблицы могут обрабатываться TFS, который будет импортировать данные с учетом особенностей управления данным проектом. Кроме того, его также можно интегрировать с Microsoft Project 2010 в качестве клиентской части управления проектом. Элементы проекта можно экспортировать в книги Excel для дальнейшего анализа данных. TFS не содержит пользовательского интерфейса, но обеспечивает работу веб-сервисов, которые используются таким клиентскими приложениями как Visual Studio Team System (VSTS). Тем не менее, TFS имеет в своем составе приложение Team Foundation Client (TFC), которое может использоваться без VSTS. TFC тоже взаимодействует с соответствующими веб-сервисами. TFS предоставляет клиентский API, который может быть использован клиентским приложением для доступа к его средствам. Также поддерживается язык описаний веб-сервисов WSDL, на тот случай если приложению потребуется непосредственный вызов веб-сервисов. В качестве дополнения доступно приложение Visual Studio Team System Web Access, предназначенное для решения аналогичных задач. 2. Система управления версиями Microsoft Team Foundation Server
|
TFS реализует репозиторий управления исходным кодом, называемый Team Foundation Version Control (TFVC). При этом весь код, равно как и записи обо всех изменениях кода хранятся в базе данных под управлением SQL Server. Поддерживаются такие особенности, как например, одновременная множественная блокировка кода для изменения (multiple simultaneous check-outs). Это значит, что один и тот же файл одновременно могут редактировать несколько человек.
Реализовано разрешение конфликтов, откладывание внесения изменений (shelving). В последнем случае имеется в виду сохранение набора запланированных изменений без их подтверждения в системе контроля версий, причем другие пользователи могут видеть эти наборы, но доступа к ним без явно предоставленного разрешения не получат.
Имеются возможности ветвления и слияния, а также установки уровней доступа на любом элементе дерева версий исходного кода. Очевидно также, что можно отслеживать версии документации, блокировок, откатов и операций подтверждения атомарных изменений (atomic commits).
Механизм контроля исходного кода напрямую связан с рабочими элементами Team System. При подтверждении изменений (check-in) в "наборе изменений" (changeset) разработчик может определять взаимосвязь его кода с одним или более определенными рабочими элементами для указания какие именно проблемы решает данное подтверждение (check-in).
Администраторы TFS могут указывать политики подтверждений (check-in policies), которые предусматривают удовлетворение определенных требований. Политика может потребовать определения рабочих элементов, связанных с данным подтверждением, или обновление статуса связанных рабочих элементов. Например, указание ошибки как «исправленной» при внесении изменений в код, исправляющих данную ошибку. Отдельные версии файлов могут быть отмечены специальными метками, тогда все файлы с одинаковыми метками образуют релиз-группу.
TFVC поддерживает ветвление версий на всех уровнях исходного кода, а также для отдельных файлов и каталогов, причем каждая ветвь поддерживается отдельно. Несколько ветвей можно объединить в одну с указанием порядка (алгоритма) разрешения конфликтов при слиянии двух ветвей одного файла. В этом случае программа либо автоматически согласует различия, либо отметит их для ручной проверки, если сама с ними не справится. Слияние может быть выполнено и на уровне набора изменений (changeset). Успешное слияние автоматически отмечается (check out) в репозитории контроля кода.
Возможности TFVC не ограничены лишь исходным кодом, с помощью встраивания инфраструктуры Windows SharePoint он обеспечивает поддержку библиотеки версий документов проекта, включая планы проекта, требования, анализ специфики проекта и другие. Все документы в репозитории контроля кода могут связываться с любым рабочим элементом, а доступ к ним может контролироваться за счет введения политики доступа.