Synchroniser IIS

par Faith A

Ce guide rapide vous guide tout au long du processus d’utilisation de l’outil de déploiement web pour synchroniser un site Web sur un ordinateur source IIS sur un ordinateur de destination IIS. Pour ce faire, vous pouvez envoyer (push) des données vers une destination distante, ou en « extrayant » des données à partir d’une source distante. Ce guide présente les deux méthodes, ainsi qu’une option permettant d’utiliser un fichier de package afin que vous n’ayez pas à installer le service d’agent de déploiement web (MsDepSvc ou « service d’agent distant »).

Quelles sont les façons de synchroniserà l’aide de l’outil de déploiement web ?

  • Push (synchroniser à partir d’une source locale vers une destination distante)
  • Extraction (synchroniser à partir d’une source distante vers une destination locale)
  • Synchronisation indépendante (lancer une synchronisation à partir d’un ordinateur où la destination et la source sont distantes)
  • Synchronisation locale manuelle (créez un fichier de package de la source et copiez-la vers la destination, puis exécutez-la localement)

Prerequisites

Ce guide nécessite les prérequis suivants :

  • .NET Framework 2.0 SP1 ou version ultérieure
  • Outil de déploiement web 1.1

Remarque : Si vous n’avez pas déjà installé l’outil déploiement web, consultez du déploiement web et configuration du déploiement web.

Partie 1 - Afficher les dépendances de votre site

  1. Obtenez les dépendances du site Web en exécutant la commande suivante :

    msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
    
  2. Passez en revue le résultat des dépendances et recherchez des cartes de script ou des composants installés utilisés par le site. Par exemple, si l’authentification Windows est utilisée par le site Web, vous verrez <le nom de dépendance="WindowsAuthentication » />.

  3. Si votre site hérite de cartes de script, celles-ci ne sont pas répertoriées dans les dépendances et vous devez également passer en revue les cartes de script pour votre site manuellement.

  4. Compilez une liste des composants nécessaires sur la destination.

Pour obtenir des instructions détaillées sur l’analyse de la sortie de getDependencies, consultez .

Partie 2 - Configurer la cible (destination)

Passez en revue la liste des dépendances et installez-les sur le serveur de destination. Par exemple, supposons que vous disposiez des éléments suivants pour votre site web :

  • ASP.NET
  • Authentification de Windows
  • Authentification anonyme

En fonction de l’analyse de vos dépendances, vous devez installer ces composants sur le serveur de destination avant d’effectuer la synchronisation.

Partie 3 : Synchroniser votre site avec la cible

  1. Effectuez toujours une sauvegarde des serveurs sources et de destination. Même si vous testez simplement, il vous permet de restaurer facilement l’état de votre serveur. Exécutez la commande suivante pour sauvegarder un serveur IIS 7 ou ultérieur :

    %windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
    
  2. Installez le service d’agent distant sur la source ou la destination selon que vous souhaitez « extraire » les données d’une source distante ou envoyer (push) les données vers une destination distante.

  3. Démarrez le service sur l’ordinateur.

    net start msdepsvc
    
  4. Exécutez la commande suivante pour valider ce qui se passerait si la synchronisation a été exécutée. L’indicateur -whatif n’affiche pas chaque modification ; il affiche simplement une vue optimiste de ce qui peut changer si tout réussit (par exemple, il ne intercepte pas les erreurs où vous ne pouvez pas écrire dans la destination.)

    • Poussant vers une destination distante, exécuté sur l'ordinateur source (l'argument computerName sert à identifier l'ordinateur de destination distante).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
      
    • Extraction à partir d’une source distante, en cours d’exécution sur l’ordinateur de destination (l’argument computerName identifie l’ordinateur source distant).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
      
  5. Après avoir vérifié la sortie, réexécutez la même commande sans l’indicateur -whatif :

    • Envoi vers la destination distante, exécuté sur la machine source

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • Extraction à partir d’une source distante, en cours d’exécution sur une machine de destination

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

{Facultatif - Synchroniser votre site avec la cible à l’aide d’un fichier de package}

Si vous ne souhaitez pas utiliser le service distant, vous pouvez utiliser un package (fichier compressé) à la place.

  1. Exécutez la commande suivante sur le serveur source pour créer un package du site Web pour la synchronisation :

    msdeploy -verb:sync  -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
    
  2. Copiez le fichier de package sur le serveur de destination.

  3. Exécutez la commande suivante sur le serveur de destination pour vérifier ce qui se passe si la synchronisation a été exécutée :

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
    
  4. Après avoir vérifié la sortie, réexécutez la même commande sans l’indicateur -whatif :

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

Vous avez terminé la synchronisation de votre site. Pour vérifier, testez la navigation sur le site web sur le serveur de destination. Pour obtenir de l’aide sur la résolution des problèmes, consultez .

Résumé

Vous avez maintenant synchronisé un site web à partir d’un serveur IIS source vers un serveur IIS de destination, y compris l’affichage des dépendances, la configuration du serveur IIS de destination et l’exécution de la synchronisation.