Краткое руководство. Развертывание веб-приложения ASP.NET

Из этого краткого руководства вы узнаете, как создать и развернуть свое первое веб-приложение ASP.NET в Службе приложений Azure. Служба приложений поддерживает разные версии приложений .NET и предоставляет службу веб-размещения с высоким уровнем масштабирования и автоматической установкой исправлений. Веб-приложения ASP.NET являются кросс-платформенными, т. е. могут размещаться в Linux или Windows. Когда вы закончите работу с ним, у вас будет создана группа ресурсов Azure с планом размещения Службы приложений и Службой приложений, где развернуто веб-приложение.

Кроме того, можно развернуть веб-приложение ASP.NET в составе контейнера Windows или Linux в Служба приложений.

Предварительные требования

Если у вас уже установлена версия Visual Studio 2022:

  1. Установите последние обновления для Visual Studio, выбрав Справка>Проверить обновления.
  2. Добавьте рабочую нагрузку, выбрав Инструменты>Получить средства и компоненты.
Установите последнюю версию пакета SDK для .NET 6.0.
Установите последнюю версию пакета SDK для .NET 6.0.
Установите последнюю версию пакета SDK для .NET 6.0.

Создание веб-приложения ASP.NET

  1. Откройте Visual Studio и выберите Создать проект.

  2. В разделе Создать новый проект найдите и выберите ASP.NET Core Web App, после чего нажмите Далее.

  3. В разделе Настройка нового проекта присвойте приложению имя MyFirstAzureWebApp и щелкните Далее.

    Снимок экрана: Visual Studio — Настройка веб-приложения ASP.NET 6.0.

  4. Выберите .NET 6.0 (долгосрочная поддержка).

  5. Для параметра Тип проверки подлинности укажите значение Нет. Нажмите кнопку создания.

    Снимок экрана: Visual Studio — Дополнительная информация при выборе .NET 6.0.

  6. В меню Visual Studio выберите Отладка>Запустить без отладки, чтобы запустить приложение локально.

    Снимок экрана: Visual Studio — Локальное выполнение ASP.NET Core 6.0.

  1. В окне терминала создайте новую папку с именем MyFirstAzureWebApp и откройте ее в Visual Studio Code.

    mkdir MyFirstAzureWebApp
    code MyFirstAzureWebApp
    
  2. в Visual Studio Code откройте окно терминала, введя Ctrl + `.

  3. В терминале в Visual Studio Code создайте новое веб-приложение .NET с помощью команды dotnet new webapp.

    dotnet new webapp -f net6.0
    
  4. В окне Терминал Visual Studio Code запустите приложение в локальной среде с помощью команды dotnet run.

    dotnet run --urls=https://localhost:5001/
    
  5. Откройте веб-браузер и перейдите к приложению в https://localhost:5001.

    На странице браузера отобразится шаблон веб-приложения ASP.NET Core 6.0.

    Снимок экрана: Visual Studio Code — Локальное выполнение .NET 6.0 в браузере

  1. Откройте окно терминала на компьютере и перейдите в рабочую папку. Создайте новое веб-приложение .NET с помощью команды dotnet new webapp, а затем измените каталоги для только что созданного приложения.

    dotnet new webapp -n MyFirstAzureWebApp --framework net6.0
    cd MyFirstAzureWebApp
    
  2. В том же сеансе терминала запустите приложение локально с помощью команды dotnet run.

    dotnet run --urls=https://localhost:5001/
    
  3. Откройте веб-браузер и перейдите к приложению в https://localhost:5001.

    На странице браузера отобразится шаблон веб-приложения ASP.NET Core 6.0.

    Снимок экрана: Visual Studio Code — ASP.NET Core 6.0 в локальном браузере

На этом шаге мы создадим демонстрационный проект для развертывания.

  • Перейдите к примеру приложения .NET 6.0.
  • Нажмите кнопку Вилка в правом верхнем углу на странице GitHub.
  • Нажмите Владелец и оставьте Имя репозитория по умолчанию.
  • Щелкните Создать вилку.

Публикация веб-приложения

Прежде чем опубликовать веб-приложение, следует создать и настроить новую Службу приложений, в которой вы сможете опубликовать это приложение.

В процессе настройки Службы приложений вы создадите следующее:

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

Выполните следующие действия, чтобы создать Службу приложений и опубликовать свой проект:

  1. Щелкните правой кнопкой мыши проект MyFirstAzureWebApp в Обозревателе решений и выберите Опубликовать.

  2. В разделе Публикация выберите Azure и нажмите кнопку Далее.

    Снимок экрана: Visual Studio — Публикация веб-приложения и целевого объекта в Azure.

  3. Выберите Указанный целевой объект: Служба приложений Azure (Linux) или Служба приложений Azure (Windows) . Затем нажмите кнопку Далее.

    Важно!

    Если предполагается использовать ASP.NET Framework 4.8 вы используйте Службу приложений Azure (Windows) .

  4. Доступные параметры зависят от того, вошли ли вы в Azure и есть ли у вас учетная запись Visual Studio, связанная с учетной записью Azure. Выберите Добавить учетную запись или Войти, чтобы войти в подписку Azure. Если вы уже вошли, выберите нужную учетную запись.

    Снимок экрана: Visual Studio — Диалоговое окно входа в Azure.

  5. Справа от списка Экземпляры Службы приложений выберите + .

    Снимок экрана: Visual Studio — Диалоговое окно

  6. Для параметра Подписка подтвердите предложенный вариант или выберите другой из раскрывающегося списка.

  7. В разделе Группа ресурсов выберите Создать. В разделе Новое имя группы ресурсов введите myResourceGroup и щелкните ОК.

  8. В разделе План размещения щелкните Создать.

  9. В диалоговом окне План размещения. Создать новый введите значения, указанные в следующей таблице.

    Параметр Рекомендуемое значение Описание
    План размещения MyFirstAzureWebAppPlan Имя плана службы приложений.
    Расположение Западная Европа Центр обработки данных, где размещается веб-приложение.
    Размер Бесплатный Ценовая категория определяет возможности размещения.

    Снимок экрана: создание нового экрана

  10. В поле Имя введите уникальное имя приложения, включающее только допустимые символы: a-z, A-Z, 0-9 и -. Вы можете использовать автоматически созданное уникальное имя. URL-адрес веб-приложения: http://<app-name>.azurewebsites.net, где <app-name> — имя приложения.

  11. Выберите Создать, чтобы создать ресурсы Azure.

    Снимок экрана: Visual Studio — Диалоговое окно

    После завершения работы мастера ресурсы Azure будут созданы, и вы будете готовы опубликовать проект ASP.NET Core.

  12. В диалоговом окне Публикация убедитесь, что в качестве экземпляра Службы приложений выбрано новое приложение Службы приложений, а затем щелкните Готово. Visual Studio создаст профиль публикации для выбранного приложения Службы приложений.

  13. На странице Публикация выберите Опубликовать. Если появилось сообщение с предупреждением нажмите кнопку Продолжить.

    Visual Studio создает, упаковывает и публикует приложение в Azure, а затем запускает его в браузере по умолчанию.

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    Снимок экрана: Visual Studio — Веб-приложение ASP.NET Core 6.0 в Azure

  1. В Visual Studio Code откройте раздел Палитра команд и нажмите клавиши CTRL+SHIFT+P.

  2. Найдите и выберите "Служба приложений Azure: развернуть в веб-приложении".

  3. Ответьте на запросы следующим образом:

    1. Выберите для развертывания папку MyFirstAzureWebApp.
    2. При появлении запроса выберите Добавить конфигурацию.
    3. Если отобразится запрос на вход в учетную запись Azure, выполните его.
    4. Выберите Подписка.
    5. Щелкните Создать веб-приложение... Дополнительно.
    6. В поле Введите глобально уникальное имя введите имя, которое еще не используется в Azure (допускаются символы a-z, 0-9 и - ). Рекомендуется использовать сочетание названия компании и идентификатора приложения.
    7. Выберите Создать группу ресурсов и укажите имя, например myResourceGroup.
    8. Когда появится запрос Выберите стек времени выполнения:
    • для .NET 6.0 выберите .NET 6;
    • для .NET Framework 4.8 выберите ASP.NET V4.8.
    1. Выберите операционную систему (Windows или Linux):
      • для .NET Framework 4.8 будет автоматически выбрана платформа Windows.
    2. Выберите ближайшее расположение.
    3. Выберите Создать новый план службы приложений, укажите имя и выберите ценовую категориюБесплатный F1.
    4. Выберите Пропустить для ресурса Application Insights.
  4. Во всплывающем окне всегда развертывайте рабочую область "MyFirstAzureWebApp" в <app-name>, нажмите Да, чтобы Visual Studio Code развертывался в одном приложении службы приложений каждый раз, когда вы находитесь в этой рабочей области.

  5. Когда публикация завершится, щелкните Обзор веб-сайта в открывшемся уведомлении и нажмите кнопку Открыть при появлении запроса.

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    Снимок экрана: Visual Studio Code — Веб-приложение ASP.NET Core 6.0 в Azure

  1. Войдите в учетную запись Azure с помощью команды az login и выполните следующий запрос:

    az login
    
  2. Разверните код в локальном каталоге MyFirstAzureWebApp с помощью команды az webapp up:

    az webapp up --sku F1 --name <app-name> --os-type <os>
    
    • Если команда az не распознается, проверьте, установили ли вы Azure CLI, как описано в разделе Предварительные требования.
    • Замените <app-name> именем, уникальным для всех регионов Azure (допустимыми символами являются a-z, 0-9и - ). Рекомендуется использовать сочетание названия компании и идентификатора приложения.
    • Аргумент --sku F1 создает веб-приложение с ценовой категориейБесплатный. Этот аргумент можно опустить, чтобы использовать более быструю ценовую категорию "Премиум" с почасовой оплатой.
    • Измените <os> на linux или windows. При нацеливании на ASP.NET Framework 4.8 необходимо использовать windows.
    • При необходимости вы можете использовать аргумент --location <location-name>, где <location-name> является доступным регионом Azure. Список допустимых регионов для учетной записи Azure можно получить, выполнив команду az account list-locations.

    Выполнение команды может занять несколько минут. По мере выполнения будут отображаться сообщения о создании группы ресурсов, плане службы приложений и размещения приложения, настройке ведения журнала и последующем выполнении развертывания ZIP-файла. Затем отображается сообщение с URL-адресом приложения:

    You can launch the app at http://<app-name>.azurewebsites.net
    
  3. Откройте браузер и перейдите по этому URL-адресу:

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    Снимок экрана: CLI — Веб-приложение ASP.NET Core 6.0 в Azure

Примечание

Azure PowerShell — рекомендуемое средство для создания приложений на платформе размещение Windows. Для создания приложений в Linux используйте другое средство, например Azure CLI

  1. Войдите в учетную запись Azure с помощью команды Connect-AzAccount и выполните следующий запрос:

    Connect-AzAccount
    
  1. Создайте приложение с помощью команды New-AzWebApp:

    New-AzWebApp -Name <app-name> -Location westeurope
    
    • Замените <app-name> именем, уникальным для всех регионов Azure (допустимыми символами являются a-z, 0-9и - ). Рекомендуется использовать сочетание названия компании и идентификатора приложения.
    • При необходимости вы можете использовать параметр -Location <location-name>, где <location-name> является доступным регионом Azure. Список допустимых регионов для учетной записи Azure можно получить, выполнив команду Get-AzLocation.

    Выполнение команды может занять несколько минут. При выполнении создается группа ресурсов, план службы приложений и ресурс Службы приложений.

  2. В корневой папке приложения подготовьте свое локальное приложение MyFirstAzureWebApp к развертыванию, выполнив команду dotnet publish:

    dotnet publish --configuration Release
    
  3. Перейдите в каталог версии и создайте ZIP-файл из содержимого:

    cd bin\Release\net6.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Опубликуйте ZIP-файл в приложении Azure с помощью команды Publish-AzWebApp:

    Publish-AzWebApp -ResourceGroupName myResourceGroup -Name <app-name> -ArchivePath (Get-Item .\deploy.zip).FullName -Force
    

    Примечание

    -ArchivePath нужно предоставить полный путь к ZIP-файлу.

  5. Откройте браузер и перейдите по этому URL-адресу:

    На странице браузера отобразится веб-приложение ASP.NET Core 6.0.

    Снимок экрана: CLI — Веб-приложение ASP.NET Core 6.0 в Azure

  1. В поле поиска введите службы приложений. В разделе Службы выберите Службы приложений.

    Снимок экрана: панель поиска на портале Azure.

  2. На странице Службы приложений выберите Создать.

  3. На вкладке Основные сведения в разделе Сведения о проекте убедитесь, что выбрана правильная подписка, и при необходимости щелкните Создать группу ресурсов. Введите myResourceGroup в качестве имени.

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

  4. В разделе Сведения об экземпляре:

    • В разделе Имя введите глобально уникальное имя веб-приложения.
    • В разделе Опубликовать выберите Код.
    • В разделе Стек среды выполнения выберите .NET 6 (LTS).
    • Выберите операционную систему в разделе Операционная система, а также Регион, из которого вы хотите обслуживать приложение.

    Снимок экрана: сведения об экземпляре Службы приложений с использованием выполнения .NET 6.

  5. В разделе План Службы приложений выберите Создать план Службы приложений. Введите myAppServicePlan в качестве имени. Чтобы перейти на уровень "Бесплатный", выберите Изменить размер, затем выберите вкладку Разработка и тестирование, нажмите клавишу F1 и в нижней части страницы нажмите кнопку Применить.

    Снимок экрана: раздел учетной записи администратора, в котором вы указываете имя пользователя и пароль администратора.

  6. Нажмите кнопку Далее: развертывание > в нижней части страницы.

  7. На вкладке Развертывание в разделе Параметры GitHub Actions проверьте, включено ли непрерывное развертывание.

  8. В разделе Сведения о GitHub Actions проверьте подлинность с помощью своей учетной записи GitHub и выберите следующие параметры:

    • Для параметра Организация выберите организацию, в которой вы создали вилку для демонстрационного проекта.
    • Для параметра Репозиторий выберите проект dotnetcore-docs-hello-world .
    • Для параметра Ветвь выберите значение Главная.

    Снимок экрана: варианты развертывания для приложения с использованием выполнения .NET 6.

  9. В нижней части страницы нажмите кнопку Просмотр и создание.

    Снимок экрана: кнопка

  10. После выполнения проверки нажмите кнопку Создать в нижней части страницы.

  11. По завершении развертывания нажмите кнопку Перейти к ресурсу.

    Снимок экрана: следующий шаг для перехода к ресурсу.

  12. Найдите развернутое приложение в веб-браузере по URL-адресу http://<app-name>.azurewebsites.net.

Обновление и повторное развертывание приложения

Чтобы обновить и повторно развернуть веб-приложение, сделайте следующее:

  1. В Обозревателе решений откройте файл Index.cshtml вашего проекта.

  2. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    

    Сохраните изменения.

  3. Чтобы выполнить повторное развертывание в Azure, щелкните правой кнопкой мыши проект MyFirstAzureWebApp в Обозревателе решений, а затем выберите Опубликовать.

  4. На странице Публикация со сводными сведениями щелкните Опубликовать.

    По завершении публикации Visual Studio открывает в браузере страницу с URL-адресом веб-приложения.

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    Снимок экрана: Visual Studio — Обновленное веб-приложение ASP.NET Core 6.0 в Azure

  1. Откройте Index.cshtml.

  2. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    

    Сохраните изменения.

  3. В Visual Studio Code откройте раздел Палитра команд и нажмите клавиши CTRL+SHIFT+P.

  4. Найдите и выберите "Служба приложений Azure: развернуть в веб-приложении".

  5. Щелкните Развернуть при появлении запроса.

  6. Когда публикация завершится, щелкните Обзор веб-сайта в открывшемся уведомлении и нажмите кнопку Открыть при появлении запроса.

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    Снимок экрана: Visual Studio Code — Обновленное веб-приложение ASP.NET Core 6.0 в Azure

В локальном каталоге выберите файл Index.cshtml. Замените первый элемент <div> следующим кодом:

<div class="jumbotron">
    <h1>.NET 💜 Azure</h1>
    <p class="lead">Example .NET app to Azure App Service.</p>
</div>

Сохраните изменения, а затем повторно разверните приложение с помощью команды az webapp up.

ASP.NET Core 6.0 является кросс-платформенным решением, поэтому измените <os> на linux или windows в зависимости от развертывания.

az webapp up --os-type <os>

Эта команда использует значения, которые кэшируются локально в файле .azure/config, включая имя приложения, группу ресурсов и план службы приложений.

После завершения развертывания переключитесь в окно браузера, открытое на этапе перехода в приложение, и щелкните "Обновить".

На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

Снимок экрана: CLI — Обновленное веб-приложение ASP.NET Core 6.0 в Azure

  1. В локальном каталоге выберите файл Index.cshtml. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    
  2. В корневой папке приложения подготовьте свое локальное приложение MyFirstAzureWebApp к развертыванию, выполнив команду dotnet publish:

    dotnet publish --configuration Release
    
  3. Перейдите в каталог версии и создайте ZIP-файл из содержимого:

    cd bin\Release\net6.0\publish
    Compress-Archive -Path * -DestinationPath deploy.zip
    
  4. Опубликуйте ZIP-файл в приложении Azure с помощью команды Publish-AzWebApp:

    Publish-AzWebApp -ResourceGroupName myResourceGroup -Name <app-name> -ArchivePath (Get-Item .\deploy.zip).FullName -Force
    

    Примечание

    -ArchivePath нужно предоставить полный путь к ZIP-файлу.

  5. После завершения развертывания переключитесь в окно браузера, открытое на этапе перехода в приложение, и щелкните "Обновить".

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    Снимок экрана: CLI — Обновленное веб-приложение ASP.NET Core 6.0 в Azure

  1. Перейдите к вилке GitHub примера кода.

  2. На странице репозитория щелкните ., чтобы запустить код Visual Studio в браузере.

    Примечание

    URL-адрес изменится с GitHub.com на GitHub.dev. Эта функция работает только с репозиториями, содержащими файлы, но не с пустыми репозиториями.

  3. Откройте Index.cshtml.

    Index.cshtml находится в папке Pages.

    Снимок экрана: окно Explorer из Visual Studio Code в браузере с выделением файла Index.cshtml в репозитории dotnetcore-docs-hello-world.

  4. Замените первый элемент <div> следующим кодом:

    <div class="jumbotron">
        <h1>.NET 💜 Azure</h1>
        <p class="lead">Example .NET app to Azure App Service.</p>
    </div>
    

    Сохраните изменения.

  5. В меню Система управления версиями нажмите кнопку Индексировать изменения.

  6. Введите сообщение о фиксации, например We love Azure. Затем щелкните Зафиксировать и отправить.

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

    На странице браузера отобразится обновленное веб-приложение ASP.NET Core 6.0.

    Снимок экрана: CLI — Обновленное веб-приложение ASP.NET Core 6.0 в Azure

Управление приложением Azure

Чтобы управлять веб-приложением, перейдите на портал Azure, найдите и выберите Службы приложений.

Снимок экрана: портал Azure — Выберите опцию

На странице Службы приложений выберите имя веб-приложения.

Снимок экрана: портал Azure — Страница Служб приложений с примером выбранного веб-приложения.

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

Снимок экрана: портал Azure — Страница обзора Службы приложений.

Очистка ресурсов

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

  1. На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
  2. На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
  3. Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.

Очистка ресурсов

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

  1. На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
  2. На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
  3. Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов, выполнив следующую команду в Cloud Shell:

az group delete --name myResourceGroup

Ее выполнение может занять до минуты.

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, удалите группу ресурсов, выполнив следующую команду PowerShell:

Remove-AzResourceGroup -Name myResourceGroup

Ее выполнение может занять до минуты.

Очистка ресурсов

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

  1. На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
  2. На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
  3. Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.

Следующие шаги

В этом кратком руководстве показано, как создать и развернуть веб-приложение ASP.NET в Службе приложений Azure.