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

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

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

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

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

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

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

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

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

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

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

  4. Выберите .NET 7.0 (поддержка стандартных терминов).

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

    Снимок экрана: Visual Studio — дополнительные сведения при выборе .NET 7.0.

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

    Снимок экрана: Visual Studio — ASP.NET Core 7.0, запущенная локально.

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

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

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

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

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

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

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

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

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

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

  • Новая группа ресурсов для всех ресурсов 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 7.0.

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

  1. В Visual Studio Code откройте палитру команд, выбрав Просмотреть>палитру команд.

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

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

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

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

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

    Снимок экрана: Visual Studio Code — веб-приложение ASP.NET Core 7.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.
    • При необходимости вы можете использовать аргумент --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 7.0.

    Снимок экрана: веб-приложение CLI ASP.NET Core 7.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\net7.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 7.0.

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

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

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

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

  3. На вкладке Основные сведения задайте следующие параметры:

    • Для параметра Группа ресурсов выберите Создать. Введите myResourceGroup в качестве имени.
    • В разделе Имя введите глобально уникальное имя веб-приложения.
    • В разделе Опубликовать выберите Код.
    • В разделе Стек среды выполнения выберите .NET 7 (STS).
    • Выберите операционную систему в разделе Операционная система, а также Регион, из которого вы хотите обслуживать приложение.
    • В разделе план Служба приложений выберите Создать и введите имя myAppServicePlan.
    • В разделе Тарифный план выберите Бесплатный F1.

    Снимок экрана: новая конфигурация приложения Служба приложений для .NET 7 в портал Azure.

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

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

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

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

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

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

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

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

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

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

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

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

  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 7.0.

    Снимок экрана: Visual Studio — обновленное веб-приложение ASP.NET Core 7.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 7.0.

    Снимок экрана: Visual Studio Code — обновленное веб-приложение ASP.NET Core 7.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 7.0 является кроссплатформенным, в зависимости от предыдущего развертывания замените <os> на linux или windows.

az webapp up --os-type <os>

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

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

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

Снимок экрана: интерфейс командной строки— обновленное веб-приложение ASP.NET Core 7.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\net7.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 7.0.

    Снимок экрана: интерфейс командной строки— обновленное веб-приложение ASP.NET Core 7.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 7.0.

    Снимок экрана: интерфейс командной строки: обновленное веб-приложение ASP.NET Core 7.0 в Azure.

4. Управление приложением 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 в текстовое поле, после чего щелкните Удалить.

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