Процесс разработки для Azure
Совет
Это фрагмент из книги, архитектор современных веб-приложений с ASP.NET Core и Azure, доступный в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно читать в автономном режиме.
"Благодаря облаку частные лица и небольшие компании могут практически мгновенно получить доступ к услугам корпоративного класса".
— Рой Стефан (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 Code и dotnet CLI (кроссплатформенные средства для Mac, Linux и Windows). Если вам нужен упрощенный кроссплатформенный редактор, поддерживающий любой язык программирования, вы можете использовать Microsoft Visual Studio Code и dotnet CLI. Эти решения обеспечивают простой, но в то же время эффективный рабочий процесс разработки. Кроме того, Visual Studio Code поддерживает расширения для C# и веб-разработки, предоставляя intellisense и сочетания клавиш в редакторе.
Скачивание пакета SDK для .NET
Рабочий процесс разработки приложений ASP.NET Core, размещаемых в Azure
Жизненный цикл разработки приложений начинается на компьютере каждого разработчика, где разработчик локально пишет код приложения на предпочитаемом языке и тестирует его. Разработчики могут выбирать удобную для них систему управления версиями и настраивать процессы непрерывной интеграции, непрерывной поставки или непрерывного развертывания с использованием сервера сборки или встроенных возможностей Azure.
Чтобы начать разработку приложения ASP.NET Core с поддержкой CI/CD, вы можете использовать Azure DevOps Services или собственный сервер Team Foundation Server (TFS) организации. GitHub Actions предоставляют еще одну возможность для легкой сборки и развертывания приложений с кодом на GitHub в Azure.
Начальная настройка
Чтобы создать конвейер выпуска для приложения, вам необходимо добавить его код в систему управления версиями. Настройте локальный репозиторий и подключите его к удаленному репозиторию в командном проекте. Следуйте этим инструкциям:
Предоставьте общий доступ к своему коду в Git и Visual Studio или
Предоставьте общий доступ к своему коду в TFVC и Visual Studio
Создайте службу приложений Azure, в которой будет развертываться ваше приложение. Создайте веб-приложение, для чего перейдите в колонку "Службы приложений" на портале Azure. Нажмите "+Добавить", выберите шаблон веб-приложения, щелкните "Создать" и укажите имя и другие сведения. Веб-приложение будет доступно по адресу {name}.azurewebsites.net.
Рис. 10-1. Создание нового веб-приложения службы приложений Azure на портале Azure.
Процесс непрерывной интеграции будет выполнять автоматическую сборку каждый раз при фиксации нового кода в системе управления версиями проекта. Этот процесс позволяет вам сразу же оценить возможность построения кода (и в идеале прохождения автоматических тестов), а также возможность его последующего развертывания. В результате сборки в рамках процесса непрерывной интеграции создается артефакт пакета веб-развертывания, который публикуется для использования процессом непрерывной поставки.
Определение процесса сборки в рамках процесса непрерывной интеграции
Реализуйте непрерывную интеграцию, благодаря которой система будет добавлять сборку в очередь каждый раз, когда кто-либо из участников вашей команды фиксирует новый код. Протестируйте сборку и убедитесь, что в качестве одного из артефактов для нее создается пакет веб-развертывания.
После успешной сборки процесс непрерывной поставки будет развертывать результаты сборки непрерывной поставки в вашем веб-приложении Azure. Чтобы настроить этот шаг, необходимо создать и настроить выпуск, который будет выполнять развертывание в вашей Службе приложений Azure.
Развертывание веб-приложения Azure
После настройки конвейера CI/CD для развертывания обновлений веб-приложения вам будет достаточно внести их и зафиксировать в системе управления версиями.
Рабочий процесс разработки приложений ASP.NET Core, размещаемых в Azure
После того как вы настроите учетную запись Azure и процесс непрерывной интеграции/непрерывной поставки, разрабатывать размещаемые в Azure приложения ASP.NET Core будет легко. Далее описываются общие шаги, которые обычно выполняются при построении приложения ASP.NET Core, размещаемого в службе приложений Azure в качестве веб-приложения, как показано на рис. 10-2.
Рис. 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