Compartilhar via


Sincronizar o IIS

por Faith A

Este guia rápido ensina o processo de uso da Ferramenta de Implantação da Web para sincronizar um site em um computador de origem do IIS para um computador de destino do IIS. Você pode fazer isso "efetuando push" dados para um destino remoto ou "efetuando pull" dados de uma fonte remota. Este guia mostrará ambos os métodos, bem como uma opção a fim de usar um arquivo de pacote para não precisar instalar o Serviço do Agente de Implantação da Web (MsDepSvc ou “serviço de agente remoto”).

Quais são as maneiras de sincronizar usando a Ferramenta de Implantação da Web?

  • Push (sincronizar de uma fonte local para um destino remoto)
  • Pull (sincronizar de uma fonte remota para um destino local)
  • Sincronização independente (iniciar uma sincronização em um computador em que o destino e a fonte são remotos)
  • Sincronização local manual (criar um arquivo de pacote da fonte, copiá-lo para o destino e executá-lo localmente)

Pré-requisitos

Este guia tem os seguintes pré-requisitos:

  • .NET Framework 2.0 SP1 ou mais recente
  • Ferramenta de Implantação da Web 1.1

Observação: se você ainda não instalou a Ferramenta de Implantação da Web, consulte Instalando e Configurando a Implantação da Web.

Parte 1 – Exibir as dependências do site

  1. Obtenha as dependências do site executando o seguinte comando:

    msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
    
  2. Analise a saída das dependências e procure mapas de script ou componentes instalados que estejam em uso pelo site. Por exemplo, se a autenticação do Windows estiver em uso pelo site, <dependency name="WindowsAuthentication" /> será exibido.

  3. Se o site estiver herdando mapas de script, eles não serão listados nas dependências e também será necessário analisá-los manualmente.

  4. Compile uma lista dos componentes necessários no destino.

Para obter etapas detalhadas sobre como analisar a saída de getDependencies, consulte Exibindo Dependências de Site.

Parte 2 – Configurar o destino

Analise a lista de dependências e instale-as no servidor de destino. Por exemplo, imagine que você tinha o seguinte em uso no site:

  • ASP.NET
  • Autenticação do Windows
  • Autenticação Anônima

Com base na análise de suas dependências, você instalaria esses componentes no servidor de destino antes de executar a sincronização.

Parte 3 – Sincronizar seu site com o destino

  1. Sempre faça backup dos servidores de destino e de origem. Mesmo se você estiver apenas testando, ele permite que você restaure facilmente o estado do seu servidor. Execute o seguinte comando para fazer backup de um servidor IIS 7 ou superior:

    %windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
    
  2. Instale o serviço de agente remoto na origem ou no destino, dependendo se você deseja "efetuar pull" dos dados de uma fonte remota ou "efetuar push" dos dados para um destino remoto.

  3. Inicie o serviço no computador.

    net start msdepsvc
    
  4. Execute o comando a seguir para validar o que aconteceria se a sincronização fosse executada. O sinalizador -whatif não mostrará todas as alterações, apenas mostrará uma visão otimista do que pode mudar se tudo for bem-sucedido (por exemplo, ele não detectará erros onde você não pode gravar no destino).

    • Envio por push para destino remoto, execução no computador de origem (o argumento computerName identifica o computador de destino remoto).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
      
    • Efetuando pull de uma origem remota, execução na máquina de destino (o argumento computerName identifica o computador de origem remoto).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
      
  5. Depois de verificar a saída, execute o mesmo comando novamente sem o sinalizador -whatif:

    • Efetuando push para o destino remoto, executando no computador de origem

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • Efetuando pull de uma fonte remota, executando no computador de destino

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" > msdeploysync.log
      

{Opcional – Sincronizar o site com o destino usando um arquivo de pacote}

Se você não deseja usar o serviço remoto, você pode usar um pacote (arquivo compactado) em vez disso.

  1. Execute o seguinte comando no servidor de origem para criar um pacote do site para sincronização:

    msdeploy -verb:sync  -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
    
  2. Copie o arquivo de pacote para o servidor de destino.

  3. Execute o comando a seguir no servidor de destino para validar o que aconteceria se a sincronização fosse executada:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
    
  4. Depois de verificar a saída, execute o mesmo comando novamente sem o sinalizador -whatif:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
    

Agora você terminou de sincronizar seu site. Para realizar a verificação, tente acessar o site no servidor de destino. Para obter ajuda ao solucionar problemas, confira Solução de problemas da Ferramenta de Implantação da Web.

Resumo

Agora você sincronizou um site de um servidor IIS de origem para um servidor IIS de destino, incluindo a exibição das dependências, a configuração do servidor IIS de destino e a execução da sincronização.