базы данных и, следовательно, вероятность потери этих изменений становится минимальной.
Еще одним способом применение данной возможности является перенос изменений между разными машинами, в том случае, если разработчик использует несколько машин (например, рабочую или домашнюю). Сохраненные на сервере изменения разработчик сможет получить на другой машине в том же виде, чтобы продолжить работу, где бы он ни находился.
Рис. 13.16. Сохранение без внесения.
Для сохранения изменений служит команда Shelve, открывающая диалог, представленный на рис. 13.16, аналогичный диалогу внесения изменений за исключением поля для введения имени сохраненного пакета в верхней части и двух следующих дополнительных опций в нижней части.
Сохранить локальные изменения. Если эта опция включена, то изменения останутся локально в рабочем пространстве пользователя (рекомендуется при временной остановки работы). Если же нет, то локальные изменения откатываются и остаются только в виде сохраненного на сервер пакета (рекомендуется при смене рабочей машины).
Применить правила перед сохранением – позволяет проанализировать пакет, применив все те правила, которые действуют при внесении.
116
Рис. 13.17. Список текущих изменений.
Для того, чтобы восстановить сохраненные изменения необходимо воспользоваться командой Unshelve, доступной для файлов и папок, а также в глобальном контексте (из окна со списком невнесенных изменений – см. рис 13.17). Эта команда открывает диалог восстановления изменений (Ошибка! Источник ссылки не найден. 13.18), позволяющий выбрать один из сохраненных пакетов для восстановления. Из этого же диалога пакеты можно удалить, если они потеряют актуальность.
Рис. 13.18. Диалог восстановления изменений.
Автоматические сборки
Общее. Одним из существенных преимуществ TFS по сравнению с другими системами управления сборками является простота, с которой он позволяет создавать и настраивать процесс автоматической сборки. Не смотря на то, что в основе сборок TFS
117
лежит давно и широко известная технология MsBuild, именно TFS позволяет вывести её на принципиально новый уровень благодаря следующим улучшениям.
TFS поставляется вместе с набором MsBuild-задач, позволяющих значительно упростить и ускорить настройку процесса сборки. Среди наиболее важных задач следует отметить следующие:
•сборка проекта (при этом исходные тексты программ автоматически берутся из системы контроля версий),
•автоматический запуск тестовых пакетов (как созданных в ручную, так и идентифицированных автоматически),
•применение статического анализ кода,
•размещение результатов сборки в сетевой папке,
•автоматическое поддержание уникально идентификатора сборки и его регистрация,
•выявление присоединенных элементов работы и т.д.
TFS предоставляет серверную среду, позволяющую запускать процесс сборки в «чистом» окружении, в отличии от обычных MsBuild-сборок, где организация соответствующей инфраструктуры требует значительных усилий.
Возможность автоматического запуска процесса сборки как в режиме непрерывной интеграции, так и по расписанию.
Визуальное представление хода процесса сборки, результатов, а также истории более ранее отработавших сборок.
Очевидным преимуществом TFS здесь является то, что описание простого процесса сборки создается меньше чем за минуту, а описание более сложных создаются не сложнее, чем с помощью стандартного MsBuild.
Создание описания сборки. Для создания описания новой сборки проекта необходимо выбрать команду New Build Definition в соответствующем узле Team Explorer, и после этого откроется окно с несколькими закладками (рис. 13.19).
118
Рис. 13.19. Общие настройки описания сборки.
На первой закладке (General) находится общая информация – название и описание назначения этого сценария сборки.
Рис. 13.20. Настройка рабочего пространства.
119
На второй закладке (Workspace) – см. рис 13.20 – описывается то, какие исходные тексты необходимо взять из системы контроля версий для сборки, а также то, как эти коды разместить на машине, где будет сборка происходить. Кроме того, эти настройки влияют на поведение при непрерывной интеграции – внесение изменений именно в выбранные области в средстве контроля версий будет являться сигналом для запуска данного процесса сборки.
Рис. 13.21. Выбор или создание MsBuild-проекта.
Наиболее интересной является третья закладка Project File (рис. 13.21), где разработчик может выбрать один из существующих MsBuild-сценариев сборки или создать новый.
120