Msdevcon.ru#msdevcon. ВНУТРЕННИЙ ОПЫТ КОМПАНИИ MICROSOFT ПО АВТОМАТИЧЕСКОЙ СБОРКЕ И НЕПРЕРЫВНОЙ ИНТЕГРАЦИИ ВЕБ СЕРВИСОВ И ПРИЛОЖЕНИЙ С ПОМОЩЬЮ TFS 2012.

Презентация:



Advertisements
Похожие презентации
Microsoft TechDays Николай Миляев консультант Microsoft.
Advertisements

Microsoft TechDays Людмила Шайкина Quarta Consulting
Microsoft TechDays Золотовицкий Аркадий Директор по производству «Интеллектуальные системы»
Новые продукты Microsoft для повышения качества и эффективности образования Амит Миталь Старший вице-президент Microsoft по развитию социальных проектов.
Microsoft TechDays Павел Маслов MVP, Directory Services.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Microsoft TechDays Заграничнов Александр Microsoft.
Вычислительные ресурсы и приложения доступные через Интернет в виде сервисов Облачные вычисления.
Msdevcon.ru#msdevcon. OPEN SOURCE РЕШЕНИЯ В ОБЛАКЕ WINDOWS AZURE Воркачёв Владимир.
Microsoft TechDays Леонид Шапиро MCT ЦКО «Специалист»
Microsoft TechDays Богомолов Алексей MCP
Microsoft TechDays Константин Трещев MCITP: Enterprise Administrator
Microsoft TechDays Марат Бакиров Эксперт по разработке ПО Microsoft
Microsoft TechDays Ксения Хмелёва Специалист по технологиям Microsoft.
Валерия Казбан, менежер по работе с государственным сектором, Майкрософт Украина Опыт внедрения концепции е- управления Майкрософт Украина: локальные особенности.
Электронная Библиотека Президента Полнотекстовый поиск на базе iFTS SQL Server Июнь 2009| MSC.
DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
Ромуальд Здебский Microsoft.
На примере одного дня из жизни руководителя. Поездка в Милан.
Microsoft TechDays Черкас Дмитрий Специалист по технологиям Microsoft.
Транксрипт:

msdevcon.ru#msdevcon

ВНУТРЕННИЙ ОПЫТ КОМПАНИИ MICROSOFT ПО АВТОМАТИЧЕСКОЙ СБОРКЕ И НЕПРЕРЫВНОЙ ИНТЕГРАЦИИ ВЕБ СЕРВИСОВ И ПРИЛОЖЕНИЙ С ПОМОЩЬЮ TFS 2012 Евгений Чигиринский Microsoft Corp

Группа Online Media Platform Content Management System для всех сайтов MSN и Windows 8 Bing apps Хранение и извлечение контента Работа с создателями контента (редакторы, ingestion) Глобальный доступ (msn и Windows 8 apps доступны во всех регионах мира) Масштабируемость и высокая нагрузка

Система управления контентом Content Service MSN.COM Windows 8 Bing Apps Service

Задачи Улучшение качества продукта Автоматизация сборок и установки, отслеживание изменений на интеграционных и production средах Сокращение расходов на обслуживание системы

Управляемые изменения Content Service MSN.COM Windows 8 Bing Apps Service

Решение Максимальное ускорение доставки изменений от разработчика на production environment путем автоматической сборки и непрерывной интеграции Source Code Control Drop Share PreProduction Environment Production Checkin Build, Unit tests, Functional tests Deployment, Integration Tests Deployment Team Foundation Server 2012

SOURCE CODE CONTROL

Структура, хранение и обслуживание кода Используемые возможности TFS 2012 TFS Server, переход на Git в среднесрочной перспективе Code Reviews (mandatory!) Work Item Tracking Source Code Control Drop Share PreProduction Environment Production Checkin Build, Unit tests, Functional tests Deployment, Integration Tests Deployment

Структура, хранение и обслуживание кода Изоляция кода каждого сервиса/приложения Код каждого сервиса/приложения хранится и строится отдельно Main branch – для основной ветки кода Prod branch – содержит состояние кода, который в данный момент установлен на Production Shared Components Изолированы в отдельные проекты и сборки в виде NuGet packages

BUILDS

Builds Используемые возможности TFS 2012 Team Build Build Explorer Build Quality Management Source Code Control Drop Share PreProduction Environment Production Checkin Build, Unit tests, Functional tests Deployment, Integration Tests Deployment

Builds Изоляция билд серверов Обязательные gated checkins для каждого приложения Скорость выполнения сборки одного приложения – не более 10 минут! Включая прогон всех тестов Билд-сервер должен быть достаточно мощным, чтобы обеспечить быструю сборку и тестирование приложения

Типичные параметры билд-сервера CPU: Intel Xenon R GHz (dual) 16 Gb RAM Тип и размер жесткого диска – зависит от кода и задач SSD может оказаться слишком дорогим решением 4-8 Build Agents Параллельные сборки

DEPLOYMENT TO PREPRODUCTION AND INTEGRATION TESTS

PreProduction & Integration Tests Требования к Preproduction Environment Копия Production Environment (желательно в том же DC) Поддержка автоматической установки Мониторинг Source Code Control Drop Share PreProduction Environment Production Checkin Build, Unit tests, Functional tests Deployment, Integration Tests Deployment

Build Quality Management TFS 2012 TFS 2012 позволяет определить разные степени качества сборки

Release Management и TFS проблемы и решения Как узнать, что билд готов к тестированию? TFS 2012 не гарантирует немедленную отправку event-а по окончании сборки Невозможность использования TFS 2012 Events как механизма запуска интеграционных тестов Lab Management как средство установки? TFS 2012 использует Build Agent/Test Agent, установленный на production box-е, чтобы загрузить на него новую версию сборки TFS 2012 Lab Management плохо совместим с промышленными системами автоматического управления датацентрами

Решение - CI Dispatcher Сервис, который соединяет систему автоматического управления датацентрами и TFS 2012 Загружает готовые сборки и управляет запуском тестов (используя MSTest) Скорость выполнения всех интеграционных тестов – не более 45 минут! Копирует результаты тестов на Drop Share для анализа разработчиками Автоматически помечает сборку в TFS 2012 Build Quality Management system на основе результатов всех тестов Team Foundation Server 2012 CI Dispatcher Drop Share PreProduction Envorionment Production Envorionment

CI Dispatcher в действии Drop Share Service 2 1.0Released ` Service 1 1.0Released1.0Released Production Service Service N 1.0 Service Preproduction Service Service N 1.0 Service V 2.0 … … … Service 2 1.0Released Service 2 Deployment Service 2 2.0Released Integration Test Passed Integration Test Run Service Service 2 2.0Queued for CI Service N Service Service 2 2.0CI Passed

DEPLOYMENT TO PRODUCTION

Автоматическая установка Сборки, прошедшие Integration Tests и помеченные как CI Passed, автоматически становятся в очередь на установку на production Во время установки ведется постоянный мониторинг всех машин на production В случае успешной установки, CI Dispatcher помечает сборку как Released в TFS Build Management, используя TFS APIs Source Code Control Drop Share PreProduction Environment Production Checkin Build, Unit tests, Functional tests Deployment, Integration Tests Deployment

Выводы TFS 2012 позволяет надежно управлять процессом автоматической сборки и непрерывной интеграции в условиях множества проектов, зависящих друг от друга Наличие удобного TFS 2012 API позволяет интегрировать частные решения с эффективным общим управлением разработки программного обеспечения, реализованным в TFS 2012

Ссылки и ресурсы Visual Studio TFS Brian Harrys blog Release Management with TFS

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.