Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
por Jason Lee
Quando você trabalha com a Ferramenta de Implantação do IIS (Serviços de Informações da Internet), conhecida como Web Deploy, na versão 2.0 ou posterior, há três abordagens principais que você pode usar para colocar seus aplicativos web empacotados em um servidor web. Você pode:
- 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.
- Implemente o aplicativo de um local remoto usando o Web Deploy On Demand (também conhecido como "agente temporário").
- Implante o aplicativo de um local remoto direcionando o Manipulador de Implantação da Web do IIS no servidor de destino.
- Implante o aplicativo copiando manualmente o pacote 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 ajudará você a decidir qual abordagem para a 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 normalmente atendem a cada abordagem.
| Abordagem | Vantagens | Desvantagens | Cenários típicos |
|---|---|---|---|
| Agente Remoto | É fácil de configurar. Ele é adequado para atualizações regulares para aplicativos 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 é necessário 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 | Usuários não administradores podem implantar conteúdo. Ele é adequado para atualizações regulares para aplicativos Web e conteúdo. | É muito mais complexo configurar. | Ambientes de preparo. Ambientes de produção da 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 Web todas as vezes. | 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 Web (o "agente remoto") é automaticamente instalado e iniciado. Por padrão, o agente remoto expõe um endpoint HTTP no seguinte endereço:
http://[server]/MSDEPLOYAGENTSERVICE
Observação
Você pode substituir [servidor] pelo nome da máquina do seu servidor web, um endereço IP do seu servidor web ou um nome de host que resolva para o seu servidor web.
Os administradores de servidor podem implantar pacotes Web de um local remoto, como uma máquina de desenvolvimento ou um servidor de build, ao especificar este endereço de endpoint. Por exemplo, suponha que Matt Hink na Fabrikam, Inc. tenha criado o projeto de aplicativo Web ContactManager.Mvc em seu computador desenvolvedor. O processo de build gera um pacote Web, juntamente com um arquivo .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 seu computador desenvolvedor:
ContactManager.Mvc.deploy.cmd /y /m:http://TESTWEB1/MSDEPLOYAGENTSERVICE a/:NTLM
O executável do Web Deploy pode inferir o endereço do endpoint do agente remoto se você fornecer o nome do computador. Portanto, Matt só precisa digitar isto:
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /a:NTLM
Observação
Para mais informações sobre a sintaxe de linha de comando do Web Deploy e arquivos .deploy.cmd, veja 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 uma 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 dá 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, em que não é incomum que os desenvolvedores tenham controle total do administrador sobre um ambiente de servidor de teste, e os aplicativos normalmente são recriados e reimplantados com muita frequência. No entanto, essa abordagem geralmente é menos aceitável para ambientes de preparo ou produção.
Para obter um exemplo de ponta a ponta de um cenário que usa a abordagem do agente remoto, consulte Cenário: Configurando um ambiente de teste para implantação da Web.
Usando o Agente Temporário
A abordagem de implantação utilizando agentes temporários é semelhante à abordagem que utiliza agentes remotos. No entanto, ao contrário da abordagem do agente remoto, você não precisa 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 de agente de implantação Web no servidor de destino e usará isso para implantar seu conteúdo no IIS. Quando a implantação for 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
Você não poderá usar o agente temporário se o serviço de agente de implantação Web estiver instalado no computador de destino, mesmo que o serviço não esteja em execução.
A vantagem dessa abordagem é que você não precisa ter que manter o Web Deploy instalado em seus 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 do agente remoto, ou seja, que você deve ser um administrador local no servidor de destino para implantar o conteúdo e há suporte apenas para autenticação NTLM. 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 a implantação da Web sob demanda.
Usando o Gerenciador 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á intimamente integrado ao WMSvc (Serviço de Gerenciamento Web do IIS), que foi projetado para permitir que os usuários gerenciem sites do IIS de locais remotos.
Por padrão, o agente remoto expõe um endpoint HTTP no seguinte 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 do seu servidor web ou um nome de host que resolva 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 dá 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 Manipulador de Implantação da Web é inicialmente muito mais complicado de configurar e ajustar.
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 query string específica do site no endereço de endpoint:
https://[server]:8172/MSDeploy.axd?site=DemoSite
Sugestão Por exemplo, suponha que um processo de build seja configurado para implantar automaticamente um aplicativo Web em um ambiente de preparo após cada build bem-sucedido. Se você usou a abordagem de agente remoto, precisará configurar a identidade do processo de build como administrador em seus servidores de destino. Por outro lado, usando o método do Manipulador de Implantação da Web, 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 build pode fornecer essas credenciais para implantar o pacote Web. Observe que o exemplo a seguir está usando %ContactManagerPublishPassword%, que está extraindo o valor da 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.
Handler de Implementação Web fornece uma abordagem prática para a implementação em ambientes de teste, ambientes hospedados e ambientes de produção baseados em intranet, onde o acesso remoto ao servidor está disponível, mas não as credenciais de administrador.
Para obter um exemplo de ponta a ponta 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 de um local remoto. Por exemplo, os computadores de origem e de destino podem estar em redes isoladas ou segmentos de rede, ou a política 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ê só não pode usá-los a partir de um local remoto. Em vez disso, um administrador no servidor de destino deve copiar o pacote Web para o servidor e importá-lo por meio do Gerenciador do IIS.
A abordagem de implantação offline normalmente é útil em ambientes de produção voltados para a Internet, em que os servidores em uma rede de perímetro podem ter conectividade restrita com computadores na rede interna.
Para obter um exemplo de ponta a ponta de um cenário que usa a abordagem de implantação offline, consulte Cenário: Configurando um ambiente de produção para implantação da 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 diretrizes mais gerais sobre as diferentes maneiras pelas quais você pode implantar pacotes Web 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 a Implantação na Web sob demanda.