Процесс разработки для Azure

Совет

Это фрагмент из книги, архитектор современных веб-приложений с ASP.NET Core и Azure, доступный в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно читать в автономном режиме.

Architect Modern Web Applications with ASP.NET Core and Azure eBook cover thumbnail.

"Благодаря облаку частные лица и небольшие компании могут практически мгновенно получить доступ к услугам корпоративного класса".
— Рой Стефан (Roy Stephan)

Зрение

Разрабатывайте эффективные приложения ASP .NET Core любым удобным способом, используя Visual Studio или dotnet CLI и Visual Studio Code или подходящий вам редактор.

Среда разработки приложений ASP.NET Core

Выбор средства разработки: IDE или редактор

Предпочитаете ли вы использовать полнофункциональную среду IDE или упрощенный редактор, корпорация Майкрософт предлагает вам удобное решение для разработки приложений ASP.NET Core.

Visual Studio 2022. Visual Studio 2022 — это лучшая в своем классе интегрированная среда для разработки приложений для ASP.NET Core. Она предоставляет ряд функций, повышающих производительность разработчиков. С ее помощью можно разработать приложение, а затем проанализировать его производительность и другие характеристики. Интегрированный отладчик позволяет приостанавливать выполнение кода и переходить на шаг назад или вперед по коду во время его выполнения. Он поддерживает горячую перезагрузку, что позволяет без необходимости перезапуска приложения продолжить работу с ним с того момента, на котором вы остановились, даже после внесения изменений в код. Встроенное средство тестирования позволяет организовывать тесты и их результаты, а также выполнять динамическое модульное тестирование во время написания кода. С помощью Live Share вы можете сотрудничать с другими разработчиками в режиме реального времени, совместно работая в сеансе кода по сети. И когда все будет готово, Visual Studio будет содержать все, что необходимо для публикации приложения в Azure или в любом другом месте, где вы можете разместить его.

Скачать Visual Studio 2022

Visual Studio Code и dotnet CLI (кроссплатформенные средства для Mac, Linux и Windows). Если вам нужен упрощенный кроссплатформенный редактор, поддерживающий любой язык программирования, вы можете использовать Microsoft Visual Studio Code и dotnet CLI. Эти решения обеспечивают простой, но в то же время эффективный рабочий процесс разработки. Кроме того, Visual Studio Code поддерживает расширения для C# и веб-разработки, предоставляя intellisense и сочетания клавиш в редакторе.

Скачивание пакета SDK для .NET

Скачать Visual Studio Code

Рабочий процесс разработки приложений ASP.NET Core, размещаемых в Azure

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

Чтобы начать разработку приложения ASP.NET Core с поддержкой CI/CD, вы можете использовать Azure DevOps Services или собственный сервер Team Foundation Server (TFS) организации. GitHub Actions предоставляют еще одну возможность для легкой сборки и развертывания приложений с кодом на GitHub в Azure.

Начальная настройка

Чтобы создать конвейер выпуска для приложения, вам необходимо добавить его код в систему управления версиями. Настройте локальный репозиторий и подключите его к удаленному репозиторию в командном проекте. Следуйте этим инструкциям:

Создайте службу приложений Azure, в которой будет развертываться ваше приложение. Создайте веб-приложение, для чего перейдите в колонку "Службы приложений" на портале Azure. Нажмите "+Добавить", выберите шаблон веб-приложения, щелкните "Создать" и укажите имя и другие сведения. Веб-приложение будет доступно по адресу {name}.azurewebsites.net.

AzureWebApp

Рис. 10-1. Создание нового веб-приложения службы приложений Azure на портале Azure.

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

Определение процесса сборки в рамках процесса непрерывной интеграции

Реализуйте непрерывную интеграцию, благодаря которой система будет добавлять сборку в очередь каждый раз, когда кто-либо из участников вашей команды фиксирует новый код. Протестируйте сборку и убедитесь, что в качестве одного из артефактов для нее создается пакет веб-развертывания.

После успешной сборки процесс непрерывной поставки будет развертывать результаты сборки непрерывной поставки в вашем веб-приложении Azure. Чтобы настроить этот шаг, необходимо создать и настроить выпуск, который будет выполнять развертывание в вашей Службе приложений Azure.

Развертывание веб-приложения Azure

После настройки конвейера CI/CD для развертывания обновлений веб-приложения вам будет достаточно внести их и зафиксировать в системе управления версиями.

Рабочий процесс разработки приложений ASP.NET Core, размещаемых в Azure

После того как вы настроите учетную запись Azure и процесс непрерывной интеграции/непрерывной поставки, разрабатывать размещаемые в Azure приложения ASP.NET Core будет легко. Далее описываются общие шаги, которые обычно выполняются при построении приложения ASP.NET Core, размещаемого в службе приложений Azure в качестве веб-приложения, как показано на рис. 10-2.

EndToEndDevDeployWorkflow

Рис. 10-2. Пошаговый рабочий процесс построения приложений ASP.NET Core и их размещения в Azure

Шаг 1. Внутренний цикл локальной среды разработки

Разработка приложения ASP.NET Core для развертывания в Azure не отличается от любого другого процесса разработки приложения. Вы можете использовать удобную для вас среду разработки, будь то Visual Studio 2019 или dotnet CLI и Visual Studio Code или другой предпочтительный редактор. Вы можете писать код, вносить изменения и проводить их отладку, выполнять автоматические тесты, а также локально фиксировать изменения в системе управления версиями до тех пор, пока окончательный вариант не будет готов для публикации в общедоступном репозитории системы управления версиями.

Шаг 2. Репозиторий кода приложения

Как только вы будете готовы поделиться своим кодом с командой, изменения необходимо перенести из локального репозитория системы управления версиями в общедоступный репозиторий команды. Если вы работаете над отдельной ветвью, этот шаг обычно подразумевает объединение вашего кода с общей ветвью (например, посредством запроса на вытягивание).

Шаг 3. Сервер сборки: непрерывная интеграция. Сборка, тестирование, упаковка

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

Шаг 4. Сервер сборки: непрерывная поставка

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

Шаг 5. Веб-приложения Службы приложений Azure

После развертывания приложение ASP.NET Core выполняется в контексте веб-приложения службы приложений Azure. Дальнейшие мониторинг и настройка такого веб-приложения могут осуществляться с помощью портала Azure.

Шаг 6. Мониторинг и диагностика в рабочей среде

Во время работы веб-приложения вы можете осуществлять мониторинг его состояния и собирать данные по поведению пользователей и диагностическую информацию. Application Insights входит в состав Visual Studio и реализует автоматическое инструментирование приложений ASP.NET. С его помощью вы можете получить сведения об использовании, исключениях, запросах, производительности, а также содержимое журналов.

Ссылки

Построение приложения ASP.NET Core и его развертывание в Azure
https://learn.microsoft.com/azure/devops/build-release/apps/aspnet/build-aspnet-core