Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
por Jason Lee
Quando você trabalha com a Ferramenta de Implantação da Web (Web Deploy) 2.0 ou posterior dos Serviços de Informações da Internet (IIS), há três abordagens principais que você pode usar para colocar seus aplicativos Web empacotados em um servidor Web. Pode optar por uma das seguintes opções:
- Implante o aplicativo de um local remoto direcionando o Serviço de Agente de Implantação da Web (também conhecido como "agente remoto") no servidor de destino.
- Implante o aplicativo de um local remoto usando o Web Deploy On Demand (também conhecido como "agente temporário").
- Desdobre a aplicação a partir de um local remoto, direcionando o manipulador de implantação web do IIS no servidor de destino.
- Implante o aplicativo copiando manualmente o pacote da Web para o servidor de destino e importando-o por meio do Gerenciador do IIS.
A forma como você configura seus servidores Web de destino dependerá de qual abordagem de implantação você deseja usar. Este tópico irá ajudá-lo a decidir qual abordagem de implantação é ideal para você.
Esta tabela mostra as principais vantagens e desvantagens de cada abordagem de implantação, juntamente com os cenários que mais normalmente se adequam a cada abordagem.
| Abordagem | Vantagens | Desvantagens | Cenários típicos |
|---|---|---|---|
| Agente remoto | É fácil de configurar. É adequado para atualizações regulares de aplicações web e conteúdo. | O usuário deve ser um administrador no servidor de destino. O usuário não pode fornecer credenciais alternativas. | Ambientes de desenvolvimento. Ambientes de teste. |
| Agente temporário | Não há necessidade de instalar o Web Deploy no computador de destino. A versão mais recente do Web Deploy é usada automaticamente. | O usuário deve ser um administrador no servidor de destino. O usuário não pode fornecer credenciais alternativas. | Ambientes de desenvolvimento. Ambientes de teste. |
| Manipulador de implantação da Web | Os usuários não administradores podem implantar conteúdo. É adequado para atualizações regulares de aplicações web e conteúdo. | É muito mais complexo de configurar. | Ambientes de preparação. Ambientes de produção de intranet. Ambientes hospedados. |
| Implantação offline | É muito fácil de configurar. É adequado para ambientes isolados. | O administrador do servidor deve copiar e importar manualmente o pacote da Web sempre. | Ambientes de produção voltados para a Internet. Ambientes de rede isolados. |
Usando o agente remoto
Quando você instala a Implantação da Web usando as configurações padrão em um servidor de destino, o Serviço do Agente de Implantação da Web (o "agente remoto") é instalado e iniciado automaticamente. Por padrão, o agente remoto expõe um ponto de extremidade HTTP neste endereço:
http://[server]/MSDEPLOYAGENTSERVICE
Observação
Você pode substituir [servidor] pelo nome da máquina do seu servidor web, um endereço IP para o seu servidor web ou um nome de host que se resolve para o seu servidor web.
Os administradores de servidor podem implantar pacotes da Web a partir de um local remoto, como uma máquina de desenvolvedor ou um servidor de compilação, especificando esse endereço de ponto de extremidade. Por exemplo, suponha que Matt Hink, da Fabrikam, Inc., tenha criado o projeto de aplicativo Web ContactManager.Mvc em sua máquina de desenvolvedor. O processo de compilação gera um pacote da Web, juntamente com um arquivo de .deploy.cmd que contém os comandos de implantação da Web necessários para instalar o pacote. Se Matt for um administrador de servidor no servidor TESTWEB1, ele poderá implantar o aplicativo Web no servidor Web de teste executando este comando em sua máquina de desenvolvedor:
ContactManager.Mvc.deploy.cmd /y /m:http://TESTWEB1/MSDEPLOYAGENTSERVICE a/:NTLM
Na verdade, o executável Web Deploy pode inferir o endereço do ponto de extremidade do agente remoto se você fornecer o nome da máquina, então Matt só precisa digitar isso:
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /a:NTLM
Observação
Para obter mais informações sobre sintaxe de linha de comando de implantação da Web e arquivos .deploy.cmd , consulte Como instalar um pacote de implantação usando o arquivo deploy.cmd.
O agente remoto oferece uma maneira simples de implantar conteúdo de um local remoto, e essa abordagem pode funcionar bem com implantação automatizada ou com um clique. No entanto, o usuário que executa o comando de implantação também deve ser um administrador de domínio ou um membro do grupo de administradores locais no servidor de destino. Além disso, o agente remoto não oferece suporte à autenticação básica, portanto, você não pode passar credenciais alternativas na linha de comando.
O agente remoto fornece uma abordagem útil para implantação em cenários de desenvolvimento ou teste, onde não é incomum que os desenvolvedores tenham controle total de administrador sobre um ambiente de servidor de teste, e os aplicativos geralmente são reconstruídos e reimplantados com muita frequência. No entanto, essa abordagem geralmente é menos aceitável para ambientes de preparação ou produção.
Para obter um exemplo completo de um cenário que usa a abordagem de agente remoto, consulte Cenário: Configurando um ambiente de teste para implantação da Web.
Usando o Agente Temporário
A abordagem do agente temporário para a implementação é semelhante à abordagem do agente remoto. No entanto, ao contrário da abordagem de agente remoto, não é necessário instalar o Web Deploy no servidor web de destino. Em vez disso, quando você executar a implantação, a Implantação da Web instalará uma versão temporária do serviço do agente de implantação da Web no servidor de destino e usará isso para implantar seu conteúdo no IIS. Quando a implantação estiver concluída, todos os arquivos temporários serão removidos.
Se você quiser usar a configuração do provedor do agente temporário, adicione o sinalizador /g ao comando de implantação:
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /g:true
Observação
Não é possível usar o agente temporário se o serviço do agente de implantação da Web estiver instalado no computador de destino, mesmo que o serviço não esteja em execução.
A vantagem desta abordagem é que não precisas manter instalações do Web Deploy nos teus servidores de destino. Além disso, você não precisa garantir que os computadores de origem e de destino estejam executando a mesma versão da Implantação da Web. No entanto, essa abordagem sofre das mesmas limitações principais que a abordagem de agente remoto, ou seja, que você deve ser um administrador local no servidor de destino para implantar conteúdo, e apenas a autenticação NTLM é suportada. A abordagem do agente temporário também requer muito mais configuração inicial do ambiente de destino.
Para obter mais informações sobre como usar o agente temporário, consulte Como instalar um pacote de implantação usando o arquivo deploy.cmd e Implantação da Web Sob Demanda.
Usando o manipulador de implantação da Web
Para o IIS 7 em diante, a Implantação da Web oferece uma abordagem de implantação alternativa por meio do Manipulador de Implantação da Web do IIS. O manipulador de implantação da Web está estreitamente integrado ao Serviço de Gerenciamento da Web do IIS (WMSvc), que foi projetado para permitir que os usuários gerenciem sites do IIS a partir de locais remotos.
Por padrão, o agente remoto expõe um ponto de extremidade HTTP neste endereço:
https://[server]:8172/MSDeploy.axd
Observação
Você pode substituir [servidor] pelo nome da máquina do seu servidor web, um endereço IP para o seu servidor web ou um nome de host que se resolve para o seu servidor web.
A grande vantagem do manipulador de implantação da Web sobre o agente remoto e o agente temporário é que você pode configurar o IIS para permitir que usuários não administradores implantem aplicativos e conteúdo em sites específicos do IIS. O manipulador de implantação da Web também oferece suporte à autenticação básica, para que você possa fornecer credenciais alternativas como parâmetros em seus comandos de implantação da Web. A principal desvantagem é que o Web Deploy Handler é inicialmente muito mais complicado de instalar e configurar.
No caso de usuários não administradores, o Serviço de Gerenciamento da Web (WMSvc) só permitirá que o usuário se conecte ao IIS usando uma conexão no nível do site, em vez de uma conexão no nível do servidor. Para acessar um site específico, você pode incluir uma cadeia de caracteres de consulta específica do site no endereço do ponto de extremidade:
https://[server]:8172/MSDeploy.axd?site=DemoSite
Sugestão Por exemplo, suponha que um processo de compilação seja configurado para implantar automaticamente um aplicativo Web em um ambiente de preparo após cada compilação bem-sucedida. Se você usasse a abordagem de agente remoto, precisaria tornar a identidade do processo de compilação um administrador em seus servidores de destino. Por outro lado, usando a abordagem Web Deploy Handler, você pode conceder a um usuário não administrador — FABRIKAM\stagingdeployer neste caso — permissão apenas para um site específico do IIS, e o processo de compilação pode fornecer essas credenciais para implantar o pacote da Web. Observe que o exemplo a seguir está usando %ContactManagerPublishPassword%, que está extraindo o valor de senha de uma variável de ambiente. Para executar o script com êxito, %ContactManagerPublishPassword% a variável deve ser definida com o valor correto.
msdeploy.exe
-source:package='…\ContactManager.Mvc.zip'
-dest:auto,
computerName='https://STAGEWEB1:8172/MSDeploy.axd?site=DemoSite',
userName='FABRIKAM\stagingdeployer',
password=,
authtype='Basic',
-verb:sync
-setParamFile:"…\ContactManager.Mvc.SetParameters.xml"
-allowUntrusted
Observação
Para obter mais informações sobre operações de linha de comando e sintaxe de implantação da Web, consulte Referência de linha de comando de implantação da Web. Para obter mais informações sobre como usar o arquivo .deploy.cmd , consulte Como instalar um pacote de implantação usando o arquivo deploy.cmd.
O manipulador de implantação da Web fornece uma abordagem útil para a implantação em ambientes de preparação, ambientes hospedados e ambientes de produção baseados em intranet, onde o acesso remoto ao servidor está disponível, mas as credenciais de administrador não.
Para obter um exemplo completo de um cenário que usa a abordagem do manipulador de implantação da Web, consulte Cenário: configurando um ambiente de preparo para implantação da Web.
Usando a implantação offline
Em alguns casos, não é possível ou prático implantar aplicativos e conteúdo em um site do IIS a partir de um local remoto. Por exemplo, os computadores de origem e de destino podem estar em redes isoladas ou segmentos de rede, ou a diretiva de firewall pode não permitir acesso remoto.
Em cenários como esses, você ainda pode usar os recursos de empacotamento e publicação do Web Deploy; você simplesmente não pode usá-los de um local remoto. Em vez disso, um administrador no servidor de destino deve copiar o pacote da Web para o servidor e importá-lo através do Gerenciador do IIS.
A abordagem de implantação offline normalmente é útil em ambientes de produção voltados para a Internet, onde os servidores em uma rede de perímetro podem ter conectividade restrita com computadores na rede interna.
Para obter um exemplo completo de um cenário que usa a abordagem de implantação offline, consulte Cenário: Configurando um ambiente de produção para implantação na Web.
Leitura adicional
Para obter mais informações sobre operações de linha de comando e sintaxe de implantação da Web, consulte Referência de linha de comando de implantação da Web. Para obter mais informações sobre como usar o arquivo .deploy.cmd , consulte Como instalar um pacote de implantação usando o arquivo deploy.cmd.
Para obter orientações mais gerais sobre as diferentes maneiras pelas quais você pode implantar pacotes da Web a partir de um computador remoto, consulte Usando a implantação da Web remotamente. Para obter mais informações sobre como usar a implantação da Web sob demanda, consulte Implantação da Web sob demanda.