Share 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 para usar um arquivo de pacote para que você não precise instalar o Serviço do Agente de Implantação da Web (MsDepSvc ou "serviço de agente remoto".)

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

  • Push (sincronizar de uma origem local para um destino remoto)
  • Pull (sincronizar de uma origem remota para um destino local)
  • Sincronização independente (iniciar uma sincronização a partir de um computador onde o destino e a origem são remotos)
  • Sincronização Local Manual (crie um arquivo de pacote da origem e copie-o para o destino e, em seguida, execute-o localmente)

Pré-requisitos

Este guia exige os seguintes pré-requisitos:

  • .NET framework 2.0 SP1 ou superior
  • 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 seu site

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

    msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
    
  2. Revise a saída das dependências e procure quaisquer 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, você verá <dependency name="WindowsAuthentication" />.

  3. Se o seu site estiver herdando quaisquer mapas de script, eles não serão listados nas dependências e você também deverá revisar os mapas de script para seu site 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

Revise a lista de dependências e instale-as no servidor de destino. Por exemplo, vamos supor que você tinha o seguinte em uso para seu 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:

    • Enviando por push para o destino remoto, executando na máquina de origem

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • Efetuando pull de uma origem remota, executando na máquina de destino

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

{Opcional - Sincronizar seu 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 verificar, teste a navegação até o site no servidor de destino. Para obter ajuda para solucionar problemas, consulte Solução de Problemas 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.