Implantar seu aplicativo em uma pasta, IIS, Azure ou outro destino
Ao implantar um aplicativo, serviço ou componente, você o distribui para instalação em outros computadores, dispositivos, servidores ou na nuvem. Você escolhe o método apropriado no Visual Studio para o tipo de implantação que você precisa.
Obtenha ajuda para sua tarefa de implantação:
Não tem certeza de qual opção de implantação escolher? Consulte Quais são as opções de publicação certas para mim?
Para obter ajuda com problemas de implantação do Serviço de Aplicativo do Azure ou do IIS, consulte Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS.
Para obter ajuda com a definição de configurações de implantação do .NET, consulte Definir configurações de implantação do .NET.
Para implantar em um novo destino, se você tiver criado anteriormente um perfil de publicação, selecione Novo na tela Publicar para o perfil configurado anteriormente. A ferramenta Publicar é exibida.
Em seguida, escolha uma opção de implantação na ferramenta Publicar. Para obter informações sobre suas opções de publicação, consulte as seções a seguir.
Que opções de publicação são certas para mim?
De dentro do Visual Studio, os aplicativos podem ser publicados diretamente nos seguintes destinos:
- Azure
- Registro de contêiner do Docker
- DevTest Labs
- Pasta
- servidor FTP/FTPS
- servidor Web (IIS)
- Importar perfil
As opções anteriores aparecem conforme mostrado na ilustração a seguir quando você cria um novo perfil de publicação.
Para um tour rápido pelas opções mais gerais de desenvolvimento de aplicativos, consulte primeira visão dede implantação.
Azure
Ao escolher o Azure, você pode escolher entre:
- Serviço de Aplicativo do Azure em execução no Windows, Linux ou como uma imagem do Docker
- Uma imagem do Docker implantada no Registo de Contentores do Azure
- Uma máquina virtual do Azure
Aplicativos de contêiner do Azure
Azure Container Apps ajuda os desenvolvedores a criar e gerenciar aplicações e serviços web contenerizados.
Embora você possa implantar um aplicativo em contêiner no Serviço de Aplicativo do Azure, os Aplicativos de Contêiner do Azure são otimizados para usar recursos de forma mais eficiente para aplicativos em contêineres, portanto, há economia de custos, bem como outros benefícios de usar os Aplicativos de Contêiner do Azure.
Quando escolher os Aplicativos de Contêiner do Azure
- Seus aplicativos e serviços são executados em um contêiner ou em vários contêineres
- Você precisa de alta disponibilidade e escalabilidade flexível
- A sua aplicação é uma boa adequação para um padrão de arquitetura de microserviços, com a funcionalidade dividida num conjunto de serviços modulares de tarefa única implementados normalmente como Azure Functions. Por exemplo, conjuntos de serviços de tarefa única que são executados como trabalhos discretos, respondem a eventos ou que processam solicitações de filas ou gatilhos.
- Você quer os benefícios da orquestração de contêineres (Kubernetes), mas não quer gerenciar o Kubernetes diretamente. (Se você quiser um controle profundo sobre a infraestrutura do Kubernetes que dá suporte aos seus serviços em contêineres, considere usar Serviço Kubernetes do Azure (AKS).
Serviço de Aplicativo do Azure
do Serviço de Aplicativo do Azure ajuda os desenvolvedores a criar rapidamente aplicativos e serviços Web escaláveis sem manter a infraestrutura. Um Serviço de Aplicativo é executado em máquinas virtuais hospedadas na nuvem no Azure, mas essas máquinas virtuais são gerenciadas para você. A cada aplicativo em um Serviço de Aplicativo será atribuído um URL *.azurewebsites.net exclusivo; todos os níveis de preços diferentes de Gratuito permitem atribuir nomes de domínio personalizados ao site.
Você determina quanto poder de computação um Serviço de Aplicativo tem escolhendo um de preço, nível ou plano para o Serviço de Aplicativo que o contém. Você pode fazer com que vários aplicativos Web (e outros tipos de aplicativos) compartilhem o mesmo Serviço de Aplicativo sem alterar a camada de preço. Por exemplo, você pode hospedar aplicativos Web de desenvolvimento, preparo e produção juntos no mesmo Serviço de Aplicativo.
Quando escolher o Serviço de Aplicativo do Azure
- Você deseja implantar um aplicativo Web acessível pela Internet.
- Você deseja dimensionar automaticamente seu aplicativo Web de acordo com a demanda sem precisar reimplantar.
- Você não deseja manter a infraestrutura do servidor (incluindo atualizações de software).
- Você não precisa de personalizações no nível da máquina nos servidores que hospedam seu aplicativo Web.
Se você quiser usar o Serviço de Aplicativo do Azure em seu próprio datacenter ou em outros computadores locais, poderá fazê-lo usando o Azure Stack.
Para obter mais informações sobre como publicar no Serviço de Aplicativo, consulte:
- Guia de início rápido - Publicar no Serviço de Aplicativo do Azure
- Guia de início rápido - Publique ASP.NET Core no Linux.
- Publicar um aplicativo ASP.NET Core no Serviço de Aplicativo do Azure
- Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS.
Azure WebJobs
O Azure WebJobs é suportado através do Serviço de Aplicações. Consulte Desenvolver e implantar WebJobs usando o Visual Studio.
Quando escolher o Azure WebJobs
- Você tem um processo de trabalho, uma computação que pode ser executada sem interação do usuário.
- O trabalho é sob demanda, acionado por um evento ou contínuo.
- O trabalho é executado no Windows ou no .NET Core no Linux (com o Visual Studio 17.12 ou posterior).
Outra opção para cenários semelhantes é o Azure Functions. Para escolher a opção certa para você, consulte Escolher os serviços de integração e automação certos no Azure.
Azure Container Registry
O Registo de Contentor do Azure permite criar, armazenar e gerir imagens e artefactos de contentores Docker num registo privado para todos os tipos de implementações de contentores.
Quando escolher o Registro de Contêiner do Azure
- Quando tiver um pipeline de desenvolvimento e implementação de contentores Docker existente.
- Quando você deseja criar imagens de contêiner do Docker no Azure.
Para mais informações:
Máquina Virtual do Azure
Máquinas Virtuais (VMs) do Azure permite criar e gerir qualquer número de recursos de computação na nuvem. Ao assumir a responsabilidade por todo o software e atualizações nas VMs, você pode personalizá-las tanto quanto desejado pelo seu aplicativo. Você pode acessar as máquinas virtuais diretamente através da Área de Trabalho Remota, e cada uma manterá seu endereço IP atribuído pelo tempo desejado.
Dimensionar uma aplicação hospedada em máquinas virtuais envolve iniciar VMs adicionais de acordo com a procura e, em seguida, implantar o software necessário. Esse nível adicional de controle permite dimensionar de forma diferente em diferentes regiões globais. Por exemplo, se seu aplicativo estiver atendendo funcionários em uma variedade de escritórios regionais, você poderá dimensionar suas VMs de acordo com o número de funcionários nessas regiões, reduzindo potencialmente os custos.
Para obter informações adicionais, consulte o de comparação detalhada entre o Serviço de Aplicativo do Azure, as Máquinas Virtuais do Azure e outros serviços do Azure que você pode usar como destino de implantação usando a opção Personalizada no Visual Studio.
Quando escolher as Máquinas Virtuais do Azure
- Você deseja implantar um aplicativo Web acessível pela Internet, com controle total sobre o tempo de vida dos endereços IP atribuídos.
- Você precisa de personalizações no nível da máquina em seus servidores, que incluem software adicional, como um sistema de banco de dados especializado, configurações de rede específicas, partições de disco e assim por diante.
- Você deseja um bom nível de controle sobre o dimensionamento do seu aplicativo Web.
- Você precisa de acesso direto aos servidores que hospedam seu aplicativo por qualquer outro motivo.
Se você quiser usar as Máquinas Virtuais do Azure em seu próprio datacenter ou em outros computadores locais, poderá fazê-lo usando o Azure Stack.
Registro de contêiner do Docker
Se seu aplicativo estiver usando o Docker, você poderá publicar seu aplicativo em contêiner em um registro de contêiner do Docker.
Quando escolher o Docker Container Registry
- Você deseja implantar um aplicativo em contêiner
Para obter mais informações, consulte o seguinte:
- Implantar um contêiner ASP.NET em um de registro de contêiner
- implantar no Docker Hub
Laboratórios DevTest
Use a opção de implantação de pasta na ferramenta Publicar se quiser implantar no Azure DevTest Labs.
Para obter as etapas completas, consulte Publicar aplicação para testes numa máquina virtual do Azure DevTest Labs. No artigo vinculado, as etapas de publicação da pasta se aplicam ao .NET Core/.NET 5+. O restante das instruções se aplica ao .NET e ao .NET Framework. Para aplicações ClickOnce do .NET Framework, pode utilizar o Assistente de Publicação para publicar para uma pasta.
Pasta
Implantar no sistema de arquivos significa copiar os arquivos do aplicativo para uma pasta específica em seu próprio computador. A implantação em uma pasta é mais frequentemente usada para fins de teste ou para implantar o aplicativo para uso por um número limitado de pessoas se o computador também estiver executando um servidor. Se a pasta de destino for compartilhada em uma rede, a implantação no sistema de arquivos poderá disponibilizar os arquivos do aplicativo Web para outras pessoas que poderão implantá-lo em servidores específicos.
A partir do Visual Studio 2019 16.8, o destino da pasta inclui a capacidade de publicar um aplicativo .NET do Windows usando ClickOnce.
Se você deseja publicar um projeto de área de trabalho .NET Windows (.NET Core 3.1, .NET 5 e posterior) com ClickOnce, consulte Implantar um aplicativo .NET do Windows usando o ClickOnce.
Qualquer máquina local que esteja executando um servidor pode disponibilizar seu aplicativo através da Internet ou de uma Intranet, dependendo de como ele está configurado e das redes às quais está conectado. (Se ligar um computador diretamente à Internet, tenha especial cuidado para o proteger de ameaças externas à segurança.) Como você gerencia essas máquinas, tem controle total das configurações de software e hardware.
Se, por qualquer motivo (como acesso à máquina), você não puder usar serviços de nuvem como o Serviço de Aplicativo do Azure ou as Máquinas Virtuais do Azure, poderá usar o
Quando escolher a implantação do sistema de arquivos
Você só precisa implantar o aplicativo em um compartilhamento de arquivos a partir do qual outros o implantarão em servidores diferentes.
Você deseja implantar um aplicativo .NET do Windows usando ClickOnce
Você precisa apenas de uma implantação local de teste.
Você deseja examinar e potencialmente modificar os arquivos do aplicativo independentemente antes de enviá-los para outro destino de implantação.
Para obter mais informações, consulte Guia de início rápido - Implantar em uma pasta local.
Para obter mais informações sobre como implantar um aplicativo .NET do Windows usando o ClickOnce, consulte Implantar um aplicativo .NET do Windows usando o ClickOnce.
Para obter ajuda adicional para escolher suas configurações, consulte o seguinte:
- de implantação dependente da estrutura versus autônoma
- Identificadores de tempo de execução de destino (RID portátil, et al)
- Configurações de depuração e lançamento
Servidor FTP/FTPS
Um servidor FTP/FTPS permite implantar seu aplicativo em um servidor diferente do Azure. Ele pode ser implantado em um sistema de arquivos ou em qualquer outro servidor (Internet ou Intranet) ao qual você tenha acesso, incluindo aqueles em outros serviços de nuvem. Ele pode trabalhar com web deploy (arquivos ou .ZIP) e FTP.
Ao escolher um servidor FTP/FTPS, o Visual Studio solicita um nome de perfil e, em seguida, coleta informações adicionais de Conexão, incluindo o servidor ou local de destino, um nome de site e credenciais. Você pode controlar os seguintes comportamentos no separador Configurações:
- A configuração que você deseja implantar.
- Se deseja remover arquivos existentes do destino.
- Se a pré-compilação deve ser feita durante a publicação.
- Se os arquivos na pasta App_Data devem ser excluídos da implantação.
Você pode criar qualquer número de perfis de implantação FTP/FTPS no Visual Studio, tornando possível gerenciar perfis com configurações diferentes.
Quando escolher a implantação do servidor FTP/FTPS
- Você está usando serviços de nuvem em um provedor diferente do Azure que pode ser acessado por meio de URLs.
- Você deseja implantar usando credenciais diferentes daquelas que você usa no Visual Studio ou aquelas vinculadas diretamente às suas contas do Azure.
- Você deseja excluir arquivos do destino sempre que fizer a implantação.
Servidor Web (IIS)
Um servidor Web do IIS permite implantar seu aplicativo em um servidor Web diferente do Azure. Ele pode ser implantado em um servidor IIS (Internet ou Intranet) ao qual você tem acesso, incluindo aqueles em outros serviços de nuvem. Pode trabalhar com o Web Deploy ou com um pacote Web Deploy.
Ao escolher um servidor Web IIS, o Visual Studio solicita um nome de perfil e, em seguida, coleta informações adicionais de Conexão, incluindo o servidor ou local de destino, um nome de site e credenciais. Você pode controlar os seguintes comportamentos na guia Configurações do
- A configuração que você deseja implantar.
- Se deseja remover arquivos existentes do destino.
- Se a pré-compilação deve ser feita durante a publicação.
- Se os arquivos na pasta App_Data devem ser excluídos da implantação.
Você pode criar qualquer número de perfis de implantação de servidor Web do IIS no Visual Studio, tornando possível gerenciar perfis com configurações diferentes.
Quando escolher a implantação do servidor Web (IIS)
- Você está usando o IIS para publicar um site ou serviço que pode ser acessado por meio de URLs.
- Você deseja implantar usando credenciais diferentes daquelas que você usa no Visual Studio ou aquelas vinculadas diretamente às suas contas do Azure.
- Você deseja excluir arquivos do destino sempre que implantar.
Para obter mais informações, consulte Guia de início rápido - Implantar em um site.
Para obter ajuda com a solução de problemas do ASP.NET Core no IIS, consulte Solucionar problemas do ASP.NET Core no Serviço de Aplicativo do Azure e no IIS.
Importar perfil
Você pode importar um perfil ao publicar no IIS ou no Serviço de Aplicativo do Azure. Você pode configurar a implantação usando um arquivo de configurações de publicação (*.publishsettings). Um arquivo de configurações de publicação é criado pelo IIS ou pelo Serviço de Aplicativo do Azure ou pode ser criado manualmente e, em seguida, pode ser importado para o Visual Studio.
O uso de um arquivo de configurações de publicação pode simplificar a configuração de implantação e funciona melhor em um ambiente de equipe do que configurar manualmente cada perfil de implantação.
Quando escolher importar perfil
- Você está publicando no IIS e deseja simplificar a configuração de implantação.
- Você está publicando no IIS ou no Serviço de Aplicativo do Azure e deseja acelerar a configuração de implantação para reutilização ou para membros da equipe que publicam no mesmo serviço.
Para obter mais informações, consulte o seguinte:
- Importar configurações de publicação e implantar no IIS
- Importar configurações de publicação e implantar no Azure
Definir configurações de implantação do .NET
Para obter ajuda adicional para escolher suas configurações, consulte o seguinte:
- de implantação dependente da estrutura versus autônoma
- Identificadores de tempo de execução de destino (RID portátil, et al)
- Configurações de depuração e lançamento
Próximos passos
Tutoriais: