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
Obtenha as dependências do site executando o seguinte comando:
msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
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" />.
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.
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
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"
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.
Inicie o serviço no computador.
net start msdepsvc
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
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.
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
Copie o arquivo de pacote para o servidor de destino.
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
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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de