- PVSM.RU - https://www.pvsm.ru -
Если вы разрабатываете сложные системы, то наверняка задумывались об автоматизации шагов, связанных с релизом. Представим, что вы создаете сложный многокомпонентный веб-сайт, инфраструктура которого разделена на несколько серверов.
Весьма заманчивым является сценарий, когда ваш процесс непрерывной интеграции и создания билдов продолжается автоматическим развертыванием этого сайта. При этом соблюдаются некоторые условия и критерии, например, требуется чтобы билд который готов к развертыванию в эксплуатационной среде проходил все тесты, и утверждался ответственными людьми из команды. Неизбежно возникает ряд моментов, которые усложняют процесс сборки, приходится создавать скрипты развертывания. Если учесть еще и процесс утверждения, то становится понятно, что такая автоматизация может быть достаточно трудоемким делом. К счастью в Team Foundation Server 2013 входит ряд инструментов, которые позволят значительно упростить управление релизами.
Кстати, 6 февраля пройдет конференция ALM Summit Russia [1] в рамках которой мы подробно расскажем о возможностях Team Foundation Server 2013 по управлению релизами, и у читателей хабрахабра есть возможность воспользоваться скидкой 50%, для этого достаточно использовать промокод alm14_VS.
Новый инструментарий который вошел в выпуск Team Foundation Server 2013 разработан компанией InCycle. Ранее этот продукт был известен как InRelease и отлично себя зарекомендовал. Общая архитектура представлена ниже:

На основе этой архитектуры могут быть построены самые различные варианты развертывания, в том числе веб приложений, настольных приложений, и многокомпонентных сложных систем.
Одной из самых трудоемких частей автоматизации релизов является развертывание собранных компонент продукта. В зависимости от архитектуры разрабатываемой системы этот процесс может состоять из множества шагов, которые требуют тонкой настройки, и подготовки всевозможных скриптов. Их дальнейшая проверка и отладка может отнять очень много времени. Если вы используете компоненты управления релизами в TFS 2013 то у вас есть уже готовые скрипты и компоненты которые могут значительно облегчить эту задачу.

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

При этом можно более детально конфигурировать целевую среду развертывания с помощью действий (Actions), например создать виртуальный сайт в IIS, создать новую виртуальную машину в Azure и многое другое:

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

Такой механизм позволяет значительно снизить риски развертывания сырого билда в эксплуатационной среде, и всегда можно отследить прохождение каждого этапа.
Еще раз хотелось бы отметить что на конференции ALM Summit Russia [1] будет подготовлен специальный доклад на тему управления релизами, в рамках которого будет более подробно рассказано как о возможностях этого инструментария так и его настройке. Если вы хотите посетить эту конференцию, обязательно воспользуйтесь текущей 50% скидкой на билет с помощью промокода alm14_VS. Это даст вам возможность не только получить информацию из первых рук но и пообщаться с экспертами, задать дополнительные вопросы. До встречи на конференции и побольше релизов готовых к эксплуатации!
Автор: dmandreev
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/upravlenie-proektami/52954
Ссылки в тексте:
[1] ALM Summit Russia: http://events.techdays.ru/ALM-Summit/2014-02/
[2] Источник: http://habrahabr.ru/post/209406/
Нажмите здесь для печати.