Azure - Visual Studio Team Services

Post on 07-Jan-2017

130 views 1 download

Transcript of Azure - Visual Studio Team Services

Windows Azure разработка в облаке и для облакаVisual Studio Team Services и DevOps

Обзор модуляОбзор возможностей Visual Studio Team ServicesСборка и Continuous IntegrationАвтоматизированное тестирование в облакеРазвертывание решений (Continuous Deployment)

Visual Studio Team ServicesЧто такое VSTSVSTS или Team Foundation Server?VSTS и DevOps

Почему VSTS, а не Visual Studio Online?Visual Studio Team Services – новое название Visual Studio OnlineБольше соответствует сути продуктаНе вводит в заблуждение – это не IDE в облаке, как к примеру, Cloud9, а платформа для командной разработки Кстати, Cloud9: https://c9.io/

Обзор Visual Studio Team Services

Visual Studio Team ServicesСервисы для команд разработчиков для совместного доступа к коду, отслеживания прогресса, построения ПО Решение «все в одном» - для любого языка и технологииОтличное дополнение для Вашей IDEНедостающая часть DevOps

Возможности VSTSОблачное решение для командной работы

Система управления исходными кодами (version control)Инструменты для гибких методологийСборка, валидация, развертываниеОткрытая и расширяемая платформаАвтоматизированное тестирование…

Стоимость

Подробнее: https://www.visualstudio.com/pricing/visual-studio-team-services-pricing-vs

Visual Studio Dev EssentialsБесплатные инструменты, облачные сервисы

и тренинги

При регистрации в VSTS

https://www.visualstudio.com/products/

visual-studio-dev-essentials-vs

Visual Studio Dev EssentialsИнструменты

Visual Studio CommunityVisual Studio CodeTeam Foundation Server Express

Облачные сервисыAzure ($25 в месяц на 12 месяцев)*Visual Studio Team Services (5 пользователей)Бесплатный план App Service Бесплатный план HockeyAppБесплатный план Application Insights

Тренинги и поддержкаPluralsight (3 месяца) – ограниченное предложениеОтдельные тренинги Xamarin UniversityWintellectNOW (3 месяца)Microsoft Virtual AcademyHackHands Live Programming Help ($25)Приоритетная поддержка на форуме

Программное обеспечениеSQL Server 2014 Developer EditionParallels Desktop® for Mac Pro Edition (3 месяца)Parallels® Access (3 месяца)Windows Platform VM (60 дней)Office Online Apps

VSTS или TFS?Source controlAgile planning

Test case managementBuild automationContinuous deploymentRelease

managementLoad testing

Lab management

VSTS или TFS?Source controlAgile planning

Test case managementBuild automationContinuous deploymentRelease

managementLoad testing

Lab management

Feedback managementTeam collaborationApplication

telemetry

Кросс-платформенное решение

Интеграция почти с любым инструментом или сервисом

Открытые стандарты (REST, JSON, web hooks, OAuth 2)Практически любые платформы, устройства и сервисы

Открытая и расширяемая платформа

VSTS и DevOps

DevOps Конкретные

рецептыПрактики

Обзор

Люди, Процесс, Бизнес-

ценности, ALM и т.д.

Инфраструктура как код

Azure Deployment

Template - Azure Web App + SQL

DB

Chef Recipe – Linux VM в Azure

Continuous Integration

Visual Studio Team Services (git) + Jenkins

(build)

Github + Team Services +

Gradle

Практики DevOpsИнфраструктура как код (IaC)Continuous IntegrationAutomated TestingContinuous DeploymentУправление выпускомМониторинг производительностиНагрузочное тестирование и автомасштабирование

Мониторинг доступностиУправление емкостьюУправление изменениями/конфигурациейАвтоматический отзыв средыСамообслуживаниеАвтоматическое восстановлениеHypothesis Driven Development

Тестирование на серверах клиентаВнедрение ошибокМониторинг использования / Телеметрия

Подробнее: http://www.itproguy.com/devops-practices/

Сборка проекта и Continuous IntegrationРучная или автоматическая сборка?Сборка проекта в облаке

Ручная сборка проекта

Client Workstations

Source Build

Test

Team Foundation Server

TFVC

OR

GIT

DEV

Continuous Integration

Client Workstations

Source Build

Test

Deploy Environments Monitor and Learn

Team Foundation Server TFV

C

OR

GIT

DEV OPS

Лабораторная работа А: Continuous IntegrationУпражнение 1

Импорт кода в учетную запись VSTSУпражнение 2

Настройка Continuous Integration (CI)Упражнение 3

Проверка работоспособности триггера CI

Расчётное время: 45 минут

Сценарий лабораторной работыУ Вас есть веб-приложение PartsUnlimited – сайт для электронной коммерции, содержащий списки продуктов по категориям, описания продуктов, корзину покупок, историю заказов, рекомендации, поиск и т.п.Вы хотите разместить исходные коды в облаке и настроить VSTS на автоматическую сборку кода Вашего приложения и прогонку юнит-тестов при каждом его изменении.

Еще об облачных билдахВсе просто!Можно также добавить дополнительные задачиМожно расширить возможности, интегрировавшись со внешними сервисами (например, для уведомлений и мониторинга)

REST API (такой же, как у TFS)Service hooks

Trello, Slacks, CampFire…

Больше – в Visual Studio Marketplacehttps://marketplace.visualstudio.com/vsts

Автоматизированное тестирование и Continuous DeploymentТестирование в облакеРазвертывание решений в облаке

Testing Software

Автоматизированное тестирование

Зачем?Ускорение развертыванияПовторяемостьОптимизация процессаЧастые релизы

DEV OPS

X

Вспоминаем – виды тестовЮнит-тестыИнтеграционныеТесты пользовательского интерфейса (UX)Тесты производительности / НагрузочныеПользовательские (ручные)

ДЕМОРезультаты облачных юнит-тестов нашего проекта

DEV OPS

SOURCE REPO DEV

Continuous Deployment (СD)

Зачем?Оптимизация процессаУскорение развертывания

Как настроить для облачного билда

DEV OPS

EnvironmentsDeploy

CI и CD для веб-приложений Azure

Client Workstations

Source Build

Test

Monitor and Learn

cspkg

GIT

PaaS – Web App

cspkg

cspkg

CI и CD для веб-приложений Azure

Лабораторная работа B: Continuous DeliveryУпражнение 1

Донастройка билда для развертывания в AzureУпражнение 2

Настройка связи между VSTS и AzureУпражнение 3

Настройка релизов в AzureУпражнение 4

Проверка работоспособности триггера релиза

Расчётное время: 45 минут

Сценарий лабораторной работыУ Вас есть веб-приложение PartsUnlimited, исходные коды которого находятся в облаке. Для них настроен CI, что позволяет автоматически собирать проект при каждом изменении и прогонять юнит-тесты.Теперь Вы хотите настроить CD для автоматического развертывания приложения в Azure Web App (в слот dev с возможностью клонирования в staging и production).

Вопросы и ответыРекомендации

Azure постоянно развивается, поэтому некоторые диалоговые окна могут завтра выглядеть не так, как вчера.Утверждение релизов – хороший способ контроля за развертыванием

ВопросыКакие основные возможности предоставляет VSTS?Каковы ограничения бесплатной учетной записи VSTS?В чем состоят основные идеи CI и CD?Каким образом можно расширить возможности CI в VSTS?