Развертывание приложения в папке, IIS, Azure или другом расположении
Развертывание приложения, службы или компонента — это механизм их распространения для установки на других компьютерах, устройствах, серверах и в облаке. В Visual Studio можно выбрать соответствующий подход в зависимости от требуемого типа развертывания.
Справочные сведения о задаче развертывания:
- Не знаете, какой вариант развертывания выбрать? Ознакомьтесь со статьей Выбор подходящих вариантов публикации.
- Сведения об устранении проблем с развертыванием Службы приложений Azure или служб IIS см. в этой статье.
- Дополнительные сведения о настройке параметров развертывания .NET см. в этой статье.
Чтобы выполнить развертывание в новый целевой объект, если вы ранее создали профиль публикации, для настроенного профиля в окне Публикация выберите Создать.
Затем выберите вариант развертывания в средстве публикации. Сведения о вариантах публикации см. в следующих разделах.
Чтобы развернуть в новом целевом объекте, если вы ранее создали профиль публикации, выберите "Опубликовать выбор " в меню "Сборка " для настроенного профиля.
Затем выберите вариант развертывания в средстве публикации. Сведения о вариантах публикации см. в следующих разделах.
Выбор подходящих вариантов публикации
Из среды Visual Studio приложения можно публиковать напрямую в следующие целевые объекты:
- Azure
- Реестр контейнеров Docker
- DevTest Labs
- Папка
- сервер FTP или FTPS;
- веб-сервер (IIS);
- профиль импорта.
Как показано на следующем рисунке, при создании профиля публикации появятся перечисленные выше варианты.
Краткий обзор общих вариантов развертывания приложений см. в статье Первое знакомство с развертыванием.
Azure
В Azure можно выбрать один из следующих вариантов:
- Служба приложений Azure на базе ОС Windows, Linux или в виде образа Docker;
- образ Docker, развернутый в Реестре контейнеров Azure;
- Виртуальная машина Azure.
Служба приложений Azure
Служба приложений Azure помогает разработчикам быстро создавать масштабируемые веб-приложения и службы, не беспокоясь о поддержке инфраструктуры. Служба приложений выполняется на облачных виртуальных машинах в Azure, но эти виртуальные машины являются управляемыми. Каждому приложению в Служба приложений будет назначен уникальный URL-адрес *.azurewebsites.net; все ценовые категории, отличные от бесплатных, разрешают назначение имен личного домена сайту.
Вычислительная мощность службы приложений определяется выбором ценовой категории или плана для размещающей службы приложений. Несколько веб-приложений (или приложений другого типа) могут совместно использовать одну и ту же службу приложений без изменения ценовой категории. Например, веб-приложения для разработки, промежуточного этапа и рабочей среды можно разместить в одной службе приложений.
Когда следует использовать службу приложений Azure
- Вы хотите развернуть веб-приложение, которое доступно через Интернет.
- Вы хотите автоматически масштабировать веб-приложение в соответствии с запросами без необходимости повторного развертывания.
- Вы не хотите поддерживать серверную инфраструктуру (в том числе обновлять программное обеспечение).
- Вы не хотите выполнять настройки уровня компьютера на серверах, где размещено веб-приложение.
Если вы хотите использовать службу приложений Azure в своем центре обработки данных или на других локальных компьютерах, воспользуйтесь для этого Azure Stack.
Дополнительные сведения о публикации в Службе приложений см. в следующих статьях:
- Краткое руководство. Публикация в "Службе приложений Azure".
- Краткое руководство. Публикация ASP.NET Core в Linux.
- Публикация приложения ASP.NET Core в "Службе приложений Azure".
- Устранение неполадок ASP.NET Core в Службе приложений Azure и IIS
Реестр контейнеров Azure
Реестр контейнеров Azure позволяет создавать, хранить, а также администрировать образы и артефакты контейнеров Docker в частном реестре для всех типов развертываний контейнеров.
В каких случаях нужно выбрать Реестр контейнеров Azure
- Если у вас уже есть конвейер разработки и развертывания для контейнера Docker.
- Если вы хотите создать образы контейнеров Docker в Azure.
Дополнительные сведения см. по ссылке .
Виртуальная машина Azure
Виртуальные машины Azure позволяют создавать любое количество вычислительных ресурсов в облаке и управлять ими. Принимая на себя ответственность за все программное обеспечение и обновления на виртуальных машинах, вы можете настроить их в соответствии с требованиями своего приложения. Вы можете обращаться к виртуальным машинам напрямую через удаленный рабочий стол, и для каждой из них назначенный 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 см. в этой статье.
Дополнительные сведения о выборе параметров см. в следующих статьях:
- Развертывание, зависящее от платформы, и автономное развертывание
- Идентификаторы целевой среды выполнения (переносной RID и т. п.)
- Конфигурации отладки и выпуска
сервер FTP или FTPS;
Вариант "Сервер FTP или FTPS" позволяет развернуть приложение на сервере вне платформы Azure. Его можно развернуть в файловой системе или на любом другом сервере (в Интернете или интрасети), к которому у вас есть доступ, включая области в других облачных службах. Он может работать с веб-развертыванием (файлы или ZIP) и FTP.
Если вы выберете вариант "Сервер FTP или FTPS", Visual Studio запросит имя профиля и дополнительные сведения о подключении, включая данные о целевом сервере или расположении, имя сайта и учетные данные. Вы можете выбрать следующие варианты поведения на вкладке Параметры.
- Конфигурации, которые нужно развернуть.
- Нужно ли удалить существующие файлы из назначения.
- Использовать ли предварительную компиляцию во время публикации.
- Следует ли исключать из развертывания файлы, размещенные в папке App_Data.
В Visual Studio вы можете создать любое количество профилей развертывания для FTP или FTPS, что позволяет использовать несколько профилей с разными параметрами.
В каких случаях нужно выбрать развертывание на сервере FTP или FTPS
- Вы используете облачные службы на платформе, отличной от Azure, доступ к которой возможен через URL-адреса.
- Вы хотите использовать для развертывания учетные данные, отличные от используемых в Visual Studio, или напрямую связанные с вашими учетными записями Azure.
- Вы хотите удалять файлы из целевого объекта при каждом развертывании.
Веб-сервер (IIS)
Вариант "Веб-сервер (IIS)" позволяет развернуть приложение на веб-сервере вне платформы Azure. Поддерживается развертывание на любом сервере IIS (в Интернете или интрасети), к которому у вас есть доступ, в том числе в других облачных службах. Этот вариант совместим с расширением или пакетом веб-развертывания.
Если вы выберете вариант "Веб-сервер (IIS)", Visual Studio запросит имя профиля и дополнительные сведения о подключении, включая данные о целевом сервере или расположении, имя сайта и учетные данные. Вы можете выбрать следующие варианты поведения на вкладке Параметры.
- Конфигурации, которые нужно развернуть.
- Нужно ли удалить существующие файлы из назначения.
- Использовать ли предварительную компиляцию во время публикации.
- Следует ли исключать из развертывания файлы, размещенные в папке App_Data.
В Visual Studio вы можете создать любое количество профилей развертывания для веб-сервера IIS, что позволяет использовать несколько профилей с разными параметрами.
В каких случаях нужно выбрать развертывание на веб-сервере IIS
- Если вы уже используете IIS для публикации сайта или службы, доступ к которым осуществляется по URL-адресам.
- Вы хотите использовать для развертывания учетные данные, отличные от используемых в Visual Studio, или напрямую связанные с вашими учетными записями Azure.
- Вы хотите удалять файлы из целевого объекта при каждом развертывании.
Дополнительные сведения см. в кратком руководстве по развертыванию на веб-сайте
и статье Устранение неполадок с ASP.NET Core в Службе приложений Azure и IIS.
Импортировать профиль
Вы можете импортировать профиль при публикации в службу IIS или Службу приложений Azure. Развертывание можно настроить с помощью файла параметров публикации (*.publishsettings). Файл параметров публикации создается IIS или Службой приложений Azure либо может быть создан вручную, после чего его можно импортировать в Visual Studio.
Использование файла параметров публикации позволяет упростить настройку развертывания и лучше подходит для групповой среды, чем настройка каждого профиля развертывания вручную.
В каких случаях нужно выбрать профиль импорта
- Если уже настроена публикация в IIS, но вы намерены упростить настройку развертывания.
- Если уже настроена публикация в IIS или Службу приложений Azure, но вы хотите ускорить настройку развертывания для повторного использования или публикации для членов группы в той же службе.
Дополнительные сведения см. в следующих разделах:
- Импорт параметров публикации и развертывание в IIS
- Импорт параметров публикации и развертывание в Azure
Настройка параметров развертывания .NET
Дополнительные сведения о выборе параметров см. в следующих статьях:
- Развертывание, зависящее от платформы, и автономное развертывание
- Идентификаторы целевой среды выполнения (переносной RID и т. п.)
- Конфигурации отладки и выпуска
Следующие шаги
Руководства.