Развертывание Проекта .Net Core В Веб-Приложении Azure Для Linux.

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

Развертывание проекта .
</p><p>
NET Core в веб-приложении Azure для Linux.



Что нового в веб-приложении Azure для Linux?

Веб-приложение Azure для Linux предоставляет множество возможностей разработчикам, независимо от того, разрабатывают ли они приложения для Linux или просто хотят, чтобы их приложения были помещены в контейнер.

Веб-приложение Azure для Linux доступно в регионах Западной Австралии, Западной Европы и Юго-Восточной Азии.

Некоторые из новых функций, добавленных в Службу приложений с поддержкой Linux:

  • Слоты
  • Автоматическое масштабирование
  • Поддержка SSH
  • Автоматическая публикация изображений из Docker Hub


Слоты

Слоты развертывания были одной из самых популярных функций Службы приложений Azure. Реализация службы приложений для Linux не была бы полной без поддержки слотов! Вы можете дублировать существующее приложение в «слот» и легко переключаться между тестовыми слотами и слотами рабочих веб-приложений.



Автоматическое масштабирование

Вы можете легко масштабировать приложения Службы приложений Linux и контейнеры по требованию или автоматически.

Автоматическое масштабирование поддерживает триггеры ЦП, длины очереди диска и памяти.



Поддержка SSH

Вы можете использовать SSH для управления своим приложением.

Введите адрес в браузере, чтобы узнать параметры SSH-соединения:

  
  
  
  
  
  
  
  
   

https://<mysite>.

scm.azurewebsites.net/webssh/host .



Если вы еще не прошли аутентификацию, вам нужно будет авторизоваться.

После этого вы увидите что-то вроде этого:

Развертывание проекта .
</p><p>
NET Core в веб-приложении Azure для Linux.

ПРИМЕЧАНИЕ .

Чтобы включить SSH для пользовательских контейнеров Docker, вам необходимо дополнительно настроить SSH-сервер .



Автоматическая публикация изображений из Docker Hub

Ваше веб-приложение будет автоматически развернуто при публикации новой версии в Docker Hub. Чтобы включить эту функцию:
  1. Настройте перехватчик в Docker Hub

    https://<publishingusername>:<publishingpwd>@<sitename>.

    scm.azurewebsites.net/docker/hook

  2. Создайте переменную для веб-приложения с именем ДОКЕР_ENABLE_CI и установите для него значение TRUE.


Развертывание проекта .
</p><p>
NET Core в веб-приложении Azure для Linux.



Другие функции

  • Поддержка домена с подстановочными знаками .

    Теперь вы можете назначать подстановочные имена своим веб-приложениям.

    Например, *.

    constoco.com.

  • Тестирование в производстве (TiP) : эта функция позволяет направлять x% трафика на слот вашего приложения или на бета-сайт.
  • Всегда включен : с помощью этой функции вы можете быть уверены, что ваше веб-приложение всегда работает, и избежать холодного запуска из-за тайм-аутов простоя.

  • Перезапуск сайта : с помощью этой опции вы можете перезагрузить контейнер и веб-приложение.

    Эта опция заставит контейнер перезагрузиться из кэшированного образа.



Создайте и разверните проект .

NET Core.

Запустите терминал, создайте каталог hellodotnetcore и перейдите в него.

Затем введите:

dotnet new web

Эта команда создает три файла (hellodotnetcore.csproj, Program.cs и Startup.cs) и один пустой каталог (wwwroot/) в текущем каталоге.

Содержимое файла .

csproj должно выглядеть следующим образом:

<!-- Empty lines are omitted. --> <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp1.1</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore" Version="1.1.2" /> </ItemGroup> </Project>

Поскольку это веб-приложение, ссылка на пакет ASP.NET Core будет автоматически добавлена в файл hellodotnetcore.csproj. Номер версии пакета задается в соответствии с установленным SDK. Этот пример применим к ASP.NET Core версии 1.1.2, поскольку он использует .

NET Core 1.1. Вы можете создать и запустить приложение .

NET Core с помощью двух команд:

dotnet restore dotnet run

При запуске приложения вы увидите сообщение о том, что оно прослушивает входящие запросы:

Hosting environment: Production Content root path: C:\hellodotnetcore Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down.

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

локальный хост :5000/ Если все пойдет хорошо, вы увидите сообщение «Hello World!» сообщение.



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

NET Core в Azure

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

Войдите на портал Azure и создайте веб-приложение для Linux.

Развертывание проекта .
</p><p>
NET Core в веб-приложении Azure для Linux.

Далее укажите параметры для создания нового приложения:

Развертывание проекта .
</p><p>
NET Core в веб-приложении Azure для Linux.

Параметр Значение Описание
Имя приложения hellodotnetcore Название вашего приложения.

Это имя должно быть уникальным.

Подписка Выберите существующую подписку Подписка Azure.
Ресурсная группа мояресурсгруппа Группа ресурсов Azure, содержащая веб-приложение.

План обслуживания приложений Название существующего плана службы приложений План службы приложений.

Настроить контейнер .

NET Core 1.1

Тип контейнера для этого веб-приложения: встроенный, Docker или частный реестр.

Источник изображения Встроенный Источник изображения.

Стек времени выполнения .

NET Core 1.1

Стек и версия среды выполнения.

Затем, когда создание приложения будет завершено, найдите URL-адрес репозитория git, перейдя по адресу:

https://{your web app name}.

scm.azurewebsites.net/api/scm/info

Запустите команды для развертывания приложения в Azure:

git init git remote add azure <Git deployment URL from above> git add *.

csproj *.

cs git commit -m "Initial deployment commit" git push azure master

Вам не нужно отдельно добавлять в репозиторий файлы в каталогах bin/ или obj/, поскольку веб-приложение будет автоматически собрано в облаке.

Результат должен выглядеть примерно так:

/* some output has been removed for brevity */ remote: Copying file: 'System.Net.Websockets.dll' remote: Copying file: 'System.Runtime.CompilerServices.Unsafe.dll' remote: Copying file: 'System.Runtime.Serialization.Primitives.dll' remote: Copying file: 'System.Text.Encodings.Web.dll' remote: Copying file: 'hellodotnetcore.deps.json' remote: Copying file: 'hellodotnetcore.dll' remote: Omitting next output lines. remote: Finished successfully. remote: Running post deployment commands. remote: Deployment successful. To https://hellodotnetcore.scm.azurewebsites.net/ * [new branch] master -> master

После завершения развертывания перезапустите веб-приложение.

Для этого перейдите на портал Azure, откройте страницу «Обзор» вашего веб-приложения и нажмите кнопку «Перезапустить».

После перезапуска откройте страницу веб-приложения.

Это должно выглядеть примерно так:

Развертывание проекта .
</p><p>
NET Core в веб-приложении Azure для Linux.



Источники

Теги: #azure #linux #.

NET Framework #.

net core #.

NET #C++ #Microsoft Azure

Вместе с данным постом часто просматривают: