Поделиться через


Развертывание приложения в папку, IIS, Azure или другое место назначения

Развернув приложение, службу или компонент, вы распределяете его для установки на других компьютерах, устройствах, серверах или в облаке. Выберите подходящий метод в Visual Studio для нужного типа развертывания.

Получите помощь по задаче развертывания:

Скриншот: Создание нового профиля публикации.

Скриншот: Создание нового профиля публикации.

Затем выберите вариант развертывания в средстве Публикация. Сведения о параметрах публикации см. в следующих разделах.

Какие варианты публикации подходит для меня?

Из Visual Studio приложения можно публиковать непосредственно в следующих целевых объектах:

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

Снимок экрана выбора параметра публикации.

Снимок экрана выбора параметра публикации.

Чтобы быстро ознакомиться с более общими вариантами развертывания приложений, см. статью "Первый взгляд на развертывание".

Лазурный

При выборе Azure можно выбрать один из вариантов:

снимок экрана: выбор службы Azure.

снимок экрана: выбор службы Azure.

Приложения контейнеров Azure

Azure Container Apps помогает разработчикам создавать и управлять контейнерными веб-приложениями и службами.

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

Когда выбирать приложения контейнеров Azure

  • Приложения и службы запускаются в контейнере или в нескольких контейнерах
  • Требуется высокий уровень доступности и гибкое масштабирование
  • Ваше приложение хорошо подходит для архитектурного шаблона микрослужб, с функциональными возможностями, разбитыми на набор модульных однозаготовых служб, реализованных обычно как функции Azure. Например, наборы служб с одной задачей, которые выполняются как дискретные задания, отвечают на события или обрабатывают запросы из очередей или триггеров.
  • Вы хотите воспользоваться преимуществами оркестрации контейнеров (Kubernetes), но не хотите напрямую управлять Kubernetes. (Если требуется глубокий контроль над инфраструктурой Kubernetes, поддерживающей контейнерные службы, рассмотрите возможность использования службы Azure Kubernetes (AKS).

Служба приложений Azure

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

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

Когда выбрать службу приложений Azure

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

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

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

Веб-задания Azure

Поддержка веб-заданий Azure осуществляется через App Service. См. статью Разработка и развертывание веб-заданий с помощьюVisual Studio.

Когда выбирать веб-задания Azure

  • У вас есть рабочий процесс, вычисления, которые могут выполняться без взаимодействия с пользователем.
  • Работа выполняется по запросу, активируется событием или является непрерывной.
  • Задание выполняется в Windows или .NET Core в Linux (с Visual Studio 17.12 или более поздней версии).

Другим вариантом для аналогичных сценариев является Функция Azure. Чтобы выбрать подходящий вариант, см. выбрать правильные службы интеграции и автоматизации в Azure.

Реестр контейнеров Azure

реестр контейнеров Azure позволяет создавать, хранить и управлять образами контейнеров и артефактами Docker в частном реестре для всех типов развертываний контейнеров.

Когда следует выбирать реестр контейнеров Azure

  • Если у вас есть существующий конвейер разработки и развертывания контейнеров Docker.
  • Когда вы хотите создать образы контейнеров Docker в Azure.

Дополнительные сведения:

Виртуальная машина Azure

Azure виртуальные машины (VMs) позволяют создавать и управлять любым количеством вычислительных ресурсов в облаке. Принимая на себя ответственность за все программное обеспечение и обновления на виртуальных машинах, вы можете настроить их так же, как и требуется приложению. Вы можете получить доступ к виртуальным машинам непосредственно через удаленный рабочий стол, и каждый из них будет поддерживать назначенный IP-адрес до тех пор, пока это необходимо.

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

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

Когда выбрать виртуальные машины Azure

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

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

Реестр контейнеров Docker

Если приложение использует Docker, можно опубликовать контейнерное приложение в реестре контейнеров Docker.

Когда выбрать реестр контейнеров Docker

  • Вы хотите развернуть контейнерное приложение

Дополнительные сведения см. в следующих статьях:

DevTest Labs

Используйте вариант развертывания в папку в инструменте публикации, если вы хотите выполнить развертывание в Azure DevTest Labs.

Инструкции см. в статье Публикация приложения для тестирования на виртуальной машине Azure DevTest Labs. В связанной статье шаги публикации папки применяются к .NET Core/.NET 5+. Остальные инструкции применяются как к .NET, так и к .NET Framework. Для приложений .NET Framework ClickOnce можно использовать мастер публикации для публикации в папке.

Папка

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

Начиная с Visual Studio 2019 16.8, целевой объект папки включает возможность публикации приложения .NET Для Windows с помощью ClickOnce.

Если вы хотите опубликовать настольный проект .NET Windows (.NET Core 3.1, .NET 5 и более поздних версий) с помощью ClickOnce, см. развертывание .NET Windows приложения с помощью ClickOnce.

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

Если по какой-либо причине (например, доступ к компьютеру) вы не можете использовать облачные службы, такие как Служба приложений Azure или виртуальные машины Azure, вы можете использовать Azure Stack в собственном центре обработки данных. Azure Stack позволяет управлять вычислительными ресурсами и использовать их с помощью службы приложений Azure и виртуальных машин Azure, сохраняя все локально.

Когда выбрать развертывание файловой системы

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

  • Вы хотите развернуть приложение .NET для Windows с помощью ClickOnce

  • Вам требуется только локальное тестовое развертывание.

  • Перед отправкой их в другой целевой объект развертывания необходимо изучить и изменить файлы приложения независимо друг от друга.

Для получения дополнительной информации см. Краткое руководство — Развертывание в локальной папке.

Дополнительные сведения о развертывании приложения .NET Для Windows с помощью ClickOnce см. в статье Развертывание приложения .NET Для Windows с помощью ClickOnce.

Дополнительные сведения о выборе параметров см. в следующих статьях:

FTP/FTPS-сервер

Ftp/FTPS-сервер позволяет развертывать приложение на сервере, отличном от Azure. Он может развернуться в файловой системе или любом другом сервере (Интернет или интрасети), к которому у вас есть доступ, в том числе в других облачных службах. Он может работать с веб-развертыванием (файлами или .ZIP) и FTP.

При выборе сервера FTP/FTPS Visual Studio запрашивает имя профиля, после чего получает дополнительные сведения о подключении, включая адрес целевого сервера или его расположение, имя сайта и учетные данные. На вкладке "Параметры " можно управлять следующими поведением:

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

Вы можете создать любое количество профилей развертывания FTP/FTPS в Visual Studio, что позволяет управлять профилями с различными параметрами.

Когда выбрать развертывание сервера FTP/FTPS

  • Вы используете облачные службы в поставщике, отличном от Azure, к которому можно получить доступ через URL-адреса.
  • Вы хотите выполнить развертывание, используя учетные данные, отличные от тех, которые вы используете в Visual Studio, или тех, что связаны непосредственно с вашими учетными записями Azure.
  • Вы хотите удалить файлы из целевого объекта при каждом развертывании.

Веб-сервер (IIS)

Веб-сервер IIS позволяет развертывать приложение на веб-сервере, отличном от Azure. Он может развернуться на сервере IIS (Интернет или интрасети), к которому у вас есть доступ, в том числе на других облачных службах. Он может работать с Web Deploy или пакетом Web Deploy.

При выборе веб-сервера IIS Visual Studio запрашивает имя профиля, а затем собирает дополнительные сведения о подключении, включая расположение или целевой сервер, имя сайта и учетные данные. На вкладке "Параметры " можно управлять следующими поведением:

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

Вы можете создать любое количество профилей развертывания веб-сервера IIS в Visual Studio, что позволяет управлять профилями с различными параметрами.

Когда выбрать развертывание веб-сервера (IIS)

  • Вы используете IIS для публикации сайта или службы, доступных по URL-адресам.
  • Вы хотите выполнить развертывание, используя учетные данные, отличные от тех, которые вы используете в Visual Studio, или тех, что связаны непосредственно с вашими учетными записями Azure.
  • Вы хотите удалить файлы из целевого объекта при каждом развертывании.

Дополнительные сведения см. в кратком руководстве ". Развертывание на веб-сайте".

Сведения об устранении неполадок ASP.NET Core в IIS см. в статье Устранение неполадок ASP.NET Core в службе приложений Azure и iis.

Импорт профиля

Профиль можно импортировать при публикации в IIS или службе приложений Azure. Развертывание можно конфигурировать с использованием файла настроек публикации (*.publishsettings). Файл параметров публикации создается службой IIS или службой приложений Azure или его можно создать вручную, а затем импортировать его в Visual Studio.

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

Когда выбрать профиль импорта

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

Дополнительные сведения см. в следующих статьях:

Настройка параметров развертывания .NET

Дополнительные сведения о выборе параметров см. в следующих статьях:

Дальнейшие действия

Учебники: