Это третья статья в сериале «Начало работы с Azure App Service», где я публикую углубленное учебное пособие и пошаговое использование Azure App Service и лучшие практики каждую неделю Отказ На прошлой неделе мы говорили о том, как вы можете использовать CI-CD в приложении, чтобы включить возможности DEVOPS Для ваших веб-сервисов.
Если это ваш первый раз здесь, пожалуйста, ознакомьтесь с другими статьями в серии:
Часть 1: Вверх и работает с Azure App Service
Часть 2: Непрерывное развертывание для Azure App Service
Слоты развертывания — это живые приложения, работающие с их уникальным именем хоста, однако, подключены к конкретному плану обслуживания приложений. Слоты могут снизить общее время простоя на веб-сервисах путем автоматического обозначения возможностей и полной интеграции в трубопроводном процессе для проверки и проверки изменений кода, прежде чем нажать на их производство.
Предположим, у вас есть производственное приложение в prod.example.com И вы хотите проверить некоторые изменения в той же среде, что и ваше производственное приложение, но на самом деле не развернут сайт. Вот где продвигаются слоты развертывания и сделают это бесшовным опытом, чтобы развернуть ваш сайт в слот, позвонить ему « » Постановка «И ваше приложение будет работать по аналогичной среде на разном URL, prod-staging.example.com. . Вы можете тщательно проверить ваше приложение, прежде чем нажать на его производство.
В этой статье я буду охватывать основы слотов развертывания и руководство по использованию их для тестов и проверки кода до того, как он пойдет в прямом эфире. Я буду использовать образец узла JS Weberver, чтобы продемонстрировать, как вы можете настроить слоты и использовать их в реальном мире в нескольких простах.
- Обзор слотов сервиса приложений
- Рассмотрение плана службы приложений
- Почему вы должны использовать слоты развертывания?
- Предпосылка
- Создание ресурса приложений
- Создание слота сервиса приложений
- Настройка центра развертывания для пробного слота
- Изменение кода на локальном репо
- Поднимите слот для производства с промежуточным слотом
- Вывод
Поскольку слот создает новую прикладную службу в том же плане обслуживания приложений, любые настройки, которые вы изменяете для определенного слота, не мигрируют на слот для производства на свопах. Вам необходимо рассмотреть изменения, которые могут возникнуть в вашем приложении после замены слотов. Например, если ваша заявка использует версию Sandbox Connection Connection в постановке, убедитесь, что ваш код обрабатывает этот сценарий, используя соединительные строки подключения приложений, чтобы он обновлялся в качестве обновления кода в производственной среде.
Ниже приведены некоторые из настроек, которые поменяются вместе с кодовой базой:
- Общие настройки, такие как Framework Version, 32/64-битные, веб-розетки
- Настройки приложения (можно настроить, чтобы придерживаться слота)
- Соединительные строки (можно настроить, чтобы придерживаться слота)
- Обработчики
- Общественные сертификаты
- Веб -жобы Содержание
Вы также должны учитывать настройки, которые предназначены для определенного экземпляра службы приложений и никогда не передаются на обмен. Ниже приведен список настроек от официальных веб-сайта Microsoft Docs:
- Издание конечных точек
- Пользовательские доменные имена
- Непубличные сертификаты и настройки TLS/SSL
- Настройки масштаба
- Веб-образные планировщики
- Ограничения IP
- Всегда На
- Диагностические настройки
- Распределение ресурсов с перекрестным происхождением (CORS)
Рассмотрение плана службы приложений
Выбор правильного плана обслуживания приложений является одним из ключевых решений во время работы с службой приложений. Вы не хотите в конечном итоге покупать больше емкости и ресурсов, чем необходимо. Чтобы использовать промоты для вашего приложения, вы можете выбрать любую из следующих планов, которые включают пользовательские домена/SSL и слоты, а какие должны служить вашим целям, даже если вы выполняете какие-либо рабочие нагрузки в реальных сценариях в реальном мире.
- План S1: серия Compute с 1,75 ГБ памяти, ~ 82.23 CAD/месяц (оценка)
- Планирование P1V2: серия DV2 Compute, 3,5 ГБ памяти, ~ 103.72 CAD/месяц (оценка)
У вас также есть намного больше параметров в плане службы приложений, если вам нужна дополнительная память или выделенная процессора.
Почему вы должны использовать слоты развертывания?
Слоты развертывания являются одним из надежных функций, доступных в ресурсе приложений сервиса, который позволяет запустить продукцию, как рабочая нагрузка и проверить свой код в каждом изменении, прежде чем нажать код в производство. Это еще более мощно в сочетании с конвейером CI-CI-CD, выполняющей развертывание, рабочий процесс одобрения и автоматизированные свопы для слота приложения. Ниже приведены некоторые из ключевых преимуществ использования слотов развертывания.
- Вы можете проверить изменения приложений в промежуточном слоте развертывания, прежде чем заменять его с помощью производственного слота.
- Слоты развертывания Устраните время простоя, вызванные некоторыми приложениями IIS, которые необходимо прогреться до того, как она полностью функционала. Функция Auto-Swap дает вам возможность автоматически поменять слоты, если проверки не нужны.
- Вы всегда можете вернуть ваше приложение на свой «последний известный хороший сайт» в случае любой проблемы после изменения кода.
Если вы хотите проверить и выполнить шаги в этом руководстве, убедитесь, что вы выполняете следующие требования:
- Vs Редактор кода (необязательно) : Вам нужен доступ к редактору, VS-коду или любому другому редактору по вашему выбору, чтобы добавить/изменить код для тестирования Smap Swap. Это может быть выполнено непосредственно из Azure Repo или Portal GitHub.
Azure DevOps или Github Repo : Вам нужно сохранить пример код приложения для вашего приложенного сервиса. CLONE/FORK MY GitHUB REPO Если вы хотите использовать это в качестве примера для тестирования.
Я ссылаюсь на эту новую службу приложений как « приложение для постановки » и первичная служба приложений как « Production Application ».
Самое первое, что вы хотели бы сделать, это настроить сервис приложений с образцом веб-сервера для проверки изменений и выполнения свопа. Процесс включает в себя создание слота сервиса приложений с образцовым кодом, создавая слот развертывания, соединяя свой слот с CI-CD для включения автоматической синхронизации, вновь внесение изменений в кодовую базу и, наконец, запускает слоты для подкачки.
Используйте следующие шаги, чтобы создать новую прикладную службу, если у вас его еще нет.
Использование портала Azure для развертывания службы приложений
Как только ваше приложение будет готово, вы должны увидеть аналогичную веб-страницу с помощью некоторого универсального текста, подтверждающего, что ваше приложение работает и работает.
Следующее, что вам нужно сделать, чтобы создать новый слот для промежуточной среды. Это создает новый ресурс с именем, указанным в шагах, которые будут запускать ваше приложение. Это можно сделать с помощью нескольких кликов от портала Azure. Следуйте инструкциям ниже, чтобы создать свой первый слот сервиса приложений:
- Перейдите к вашей службе Azure App App, которые вы создали в своей среде.
- Нажмите « ». Развертывание слотов «В левой панели и нажмите« Добавить слот », чтобы создать новый слот.
- Дайте ему имя как « Постановка », чтобы вы могли легко идентифицировать его.
На данный момент ваш слот развертывания готов, и вы должны увидеть новую службу приложений (слот) в вашей группе ресурсов в качестве выделенного ресурса, который пройдет ваш код, когда вы толкаете его из репозитория. Имя постановки приложения дается имя как « постановка/ » в группе ресурсов для легкой идентификации.
Как только вы настроите свой промежуточный слот, пришло время подключить этот слот к GIT REPO, используете ли вы Github или Azure DEVOPS, чтобы любое изменение кода развернуто для постановки для тестирования до того, как он пойдет в прямом эфире. Этот процесс гарантирует, что вы можете проверить какие-либо изменения кода в среде постановки, а затем свопьте, когда изменения подтверждены. Выполните следующие шаги, чтобы настроить источник развертывания для пробного слота:
- Перейдите к слоту развертывания и нажмите на ваш вновь созданный промежуточный слот.
- Перейдите к « Центр развертывания » для слота. Убедитесь, что вы работаете со слотом с именем « Постановка (appname/постановка) «
- Выберите местоположение REPO по вашему выбору и закончите интеграцию REPO.
- Дайте ему около 5-10 минут для развертывания, чтобы закончить и код для обновления в приложении.
Теперь вы должны начать видеть ваше приложение для постановки на https://appname-staging.azurwebsites.net.net.net. .
Следующим шагом является внесение изменений в свой код и нажимайте его обратно в свой репозиторий, чтобы изменения могли быть синхронизированы и видны на промежуточном слоте. Вы можете использовать VS-код или любой другой редактор по вашему выбору. Если вы используете Github или Azure DEVOPS, вы можете внести изменения непосредственно в файл, нажав на « Редактировать » для любого конкретного файла во время войти в Github или Azure DevOps Portal.
- Открыть « index.js » файл, если вы используете « Nodejs-PlanWebApp » от моего репо GitHub.
- Добавьте следующий текст в строке 167/168.
Если вы используете VS-код, запустите следующие команды в свой терминал, чтобы сохранить и зафиксировать свой код обратно в удаленный репозиторий.
Изменения должны отражать на вашей положенной среде. Если вы видите изменения на своем веб-сайте, хорошую работу! Продолжайте проходить через остальную часть статьи, чтобы закончить процесс свопа.
Если вы добрались до этого, вы почти сделаны. Последние шаги здесь, чтобы нажать кнопку « Swap », чтобы выполнить обмен и соблюдать, соблюдайте службу Magic App, делает на задней части, чтобы заменить производственный код приложения с помощью постановки и вице-версий. Следуйте по шагам, объясненным ниже, чтобы закончить своп:
- Перейдите к вашему производственному приложению и нажмите « » Развертывание слотов ».
- Нажмите « Swap », чтобы инициировать процесс подкачки.
Выберите источник и целевое репо, чтобы развернуть и продолжить с помощью помещения.
Вы должны увидеть сообщение успеха, говоря, что своп завершен сейчас.
Обмен подкачкой должен занимать всего несколько секунд, и ваш код будет отражать на слоте производства. Вы должны увидеть, что ваш производственный код поменятся в приложение для постановки, а производственное приложение выполняет последние изменения, выполненные в код ранее.
Как вы увидели, замена двух слотов требуется всего несколько кликов. Тем не менее, это никогда не так просто в производственных приложениях. Это? 😉 Вы всегда должны проверять свое приложение в непроизводственной среде, прежде чем использовать слоты для вашего производственного применения, так как могут быть небольшие нюансы, которые могут вызвать проблемы во время свопа.
Начните использовать слоты развертывания и дайте мне знать, что вы думаете о них в комментариях ниже!
Не стесняйтесь отправлять мне свой отзыв или идеи, если вы хотите, чтобы я написал о какой-либо конкретной конфигурации в Azure App Service.
Оригинал: «https://dev.to/parveensingh/using-deployment-slots-with-azure-app-service-2bb4»