Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
par Jason Lee
Lorsque vous travaillez avec l’outil de déploiement web IIS (Internet Information Services) (Web Deploy) 2.0 ou version ultérieure, il existe trois approches principales que vous pouvez utiliser pour obtenir vos applications web empaquetées sur un serveur web. Vous pouvez :
- Déployez l’application à partir d’un emplacement distant en ciblant le service Agent de déploiement web (également appelé « agent distant ») sur le serveur de destination.
- Déployez l’application à partir d’un emplacement distant à l’aide du déploiement web à la demande (également appelé « agent temporaire »).
- Déployez l’application à partir d’un emplacement distant en ciblant le gestionnaire de déploiement web IIS sur le serveur de destination.
- Déployez l’application en copiant manuellement le package web sur le serveur de destination et en l’important via le Gestionnaire IIS.
La façon dont vous configurez vos serveurs web de destination dépend de l’approche du déploiement que vous souhaitez utiliser. Cette rubrique vous aidera à déterminer l’approche du déploiement qui vous convient.
Ce tableau présente les principaux avantages et inconvénients de chaque approche de déploiement, ainsi que les scénarios qui conviennent le plus généralement à chaque approche.
Approche | Avantages | Inconvénients | Scénarios classiques |
---|---|---|---|
Agent à distance | Il est facile de configurer. Il convient aux mises à jour régulières des applications web et du contenu. | L’utilisateur doit être administrateur sur le serveur cible. l’utilisateur ne peut pas fournir d’autres informations d’identification. | Environnements de développement. Environnements de test. |
Agent temporaire | Il n’est pas nécessaire d’installer Web Deploy sur l’ordinateur cible. La dernière version du déploiement web est automatiquement utilisée. | L’utilisateur doit être administrateur sur le serveur cible. L’utilisateur ne peut pas fournir d’autres informations d’identification. | Environnements de développement. Environnements de test. |
Gestionnaire de déploiement web | Les utilisateurs non administrateurs peuvent déployer du contenu. Il convient aux mises à jour régulières des applications web et du contenu. | Il est beaucoup plus complexe de configurer. | Environnements de préparation. Environnements de production intranet. Environnements hébergés. |
Déploiement hors connexion | Il est très facile de configurer. Il convient aux environnements isolés. | L’administrateur du serveur doit copier et importer manuellement le package web à chaque fois. | Environnements de production accessibles sur Internet. Environnements réseau isolés. |
Utilisation de l’agent distant
Lorsque vous installez Web Deploy à l’aide des paramètres par défaut sur un serveur de destination, le service Agent de déploiement web (l’agent distant) est automatiquement installé et démarré. Par défaut, l’agent distant expose un point de terminaison HTTP à cette adresse :
http://[server]/MSDEPLOYAGENTSERVICE
Remarque
Vous pouvez remplacer [serveur] par le nom de l’ordinateur de votre serveur web, une adresse IP pour votre serveur web ou un nom d’hôte qui se résout sur votre serveur web.
Les administrateurs de serveur peuvent déployer des packages web à partir d’un emplacement distant, comme un ordinateur développeur ou un serveur de build, en spécifiant cette adresse de point de terminaison. Par exemple, supposons que Matt Hink chez Fabrikam, Inc. a créé le projet d’application web ContactManager.Mvc sur son ordinateur développeur. Le processus de génération génère un package web, ainsi qu’un fichier .deploy.cmd qui contient les commandes Web Deploy requises pour installer le package. Si Matt est administrateur de serveur sur le serveur TESTWEB1, il peut déployer l’application web sur le serveur web de test en exécutant cette commande sur son ordinateur développeur :
ContactManager.Mvc.deploy.cmd /y /m:http://TESTWEB1/MSDEPLOYAGENTSERVICE a/:NTLM
En fait, l’exécutable Web Deploy peut déduire l’adresse du point de terminaison de l’agent distant si vous fournissez le nom de l’ordinateur. Matt doit donc uniquement taper ceci :
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /a:NTLM
Remarque
Pour plus d’informations sur la syntaxe de ligne de commande Web Deploy et les fichiers .deploy.cmd , consultez Guide pratique pour installer un package de déploiement à l’aide du fichier deploy.cmd.
L’agent distant offre un moyen simple de déployer du contenu à partir d’un emplacement distant, et cette approche peut fonctionner correctement avec un clic ou un déploiement automatisé. Toutefois, l’utilisateur qui exécute la commande de déploiement doit également être un administrateur de domaine ou un membre du groupe administrateurs locaux sur le serveur de destination. En outre, l’agent distant ne prend pas en charge l’authentification de base. Vous ne pouvez donc pas transmettre d’autres informations d’identification sur la ligne de commande.
L’agent distant fournit une approche utile du déploiement dans des scénarios de développement ou de test, où il n’est pas rare que les développeurs aient un contrôle administrateur total sur un environnement de serveur de test, et les applications sont généralement reconstruites et redéployées très fréquemment. Toutefois, cette approche est généralement moins acceptable pour les environnements intermédiaires ou de production.
Pour obtenir un exemple de bout en bout d’un scénario qui utilise l’approche de l’agent distant, consultez Scénario : Configuration d’un environnement de test pour le déploiement web.
Utilisation de l’agent temporaire
L’approche de l’agent temporaire au déploiement est similaire à l’approche de l’agent distant. Toutefois, contrairement à l’approche de l’agent distant, vous n’avez pas besoin d’installer Web Deploy sur le serveur web de destination. Au lieu de cela, lorsque vous effectuez le déploiement, Web Deploy installe une version temporaire du service d’agent de déploiement web sur le serveur de destination et l’utilise pour déployer votre contenu sur IIS. Une fois le déploiement terminé, tous les fichiers temporaires sont supprimés.
Si vous souhaitez utiliser le paramètre du fournisseur de l’agent temporaire, ajoutez l’indicateur /g à votre commande de déploiement :
ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /g:true
Remarque
Vous ne pouvez pas utiliser l’agent temporaire si le service de l’agent de déploiement web est installé sur l’ordinateur de destination, même si le service n’est pas en cours d’exécution.
L’avantage de cette approche est que vous n’avez pas besoin de gérer les installations de Web Deploy sur vos serveurs de destination. En outre, vous n’avez pas besoin de vous assurer que les ordinateurs source et de destination exécutent la même version de Web Deploy. Toutefois, cette approche souffre des mêmes limitations de principal que l’approche de l’agent distant, à savoir que vous devez être administrateur local sur le serveur de destination pour déployer du contenu et que seule l’authentification NTLM est prise en charge. L’approche de l’agent temporaire nécessite également une configuration beaucoup plus initiale de l’environnement de destination.
Pour plus d’informations sur l’utilisation de l’agent temporaire, consultez Guide pratique pour installer un package de déploiement à l’aide du fichier deploy.cmd et du déploiement web à la demande.
Utilisation du gestionnaire de déploiement web
Pour IIS 7 et versions ultérieures, Web Deploy offre une approche de déploiement alternative via le gestionnaire de déploiement web IIS. Le gestionnaire de déploiement web est étroitement intégré au service de gestion web IIS (WMSvc), conçu pour permettre aux utilisateurs de gérer les sites web IIS à partir d’emplacements distants.
Par défaut, l’agent distant expose un point de terminaison HTTP à cette adresse :
https://[server]:8172/MSDeploy.axd
Remarque
Vous pouvez remplacer [serveur] par le nom de l’ordinateur de votre serveur web, une adresse IP pour votre serveur web ou un nom d’hôte qui se résout sur votre serveur web.
Le gros avantage du gestionnaire Web Deploy sur l’agent distant et l’agent temporaire est que vous pouvez configurer IIS pour permettre aux utilisateurs non administrateurs de déployer des applications et du contenu sur des sites web IIS spécifiques. Le gestionnaire Web Deploy prend également en charge l’authentification de base. Vous pouvez donc fournir d’autres informations d’identification en tant que paramètres dans vos commandes Web Deploy. L’inconvénient majeur est que le gestionnaire Web Deploy est initialement beaucoup plus compliqué à configurer et à configurer.
Dans le cas d’utilisateurs non administrateurs, le service de gestion web (WMSvc) autorise uniquement l’utilisateur à se connecter à IIS à l’aide d’une connexion au niveau du site plutôt qu’une connexion au niveau du serveur. Pour accéder à un site particulier, vous pouvez inclure une chaîne de requête spécifique au site dans l’adresse du point de terminaison :
https://[server]:8172/MSDeploy.axd?site=DemoSite
Suggestion Par exemple, supposons qu’un processus de génération est configuré pour déployer automatiquement une application web dans un environnement intermédiaire après chaque génération réussie. Si vous avez utilisé l'approche de l'agent distant, vous devriez donner au processus de génération les droits d'administrateur sur vos serveurs de destination. En revanche, à l’aide de l’approche du gestionnaire Web Deploy, vous pouvez donner à un utilisateur non administrateur ( FABRIKAM\stagingdeployer dans ce cas) l’autorisation d’accéder à un site web IIS spécifique uniquement, et le processus de génération peut fournir ces informations d’identification pour déployer le package web. Notez que l’exemple suivant utilise %ContactManagerPublishPassword%
, qui extrait la valeur du mot de passe d’une variable d’environnement. Pour exécuter correctement le script, %ContactManagerPublishPassword%
la variable doit être définie avec la valeur correcte.
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
Remarque
Pour plus d’informations sur les opérations et la syntaxe de ligne de commande Web Deploy, consultez Informations de référence sur la ligne de commande Web Deploy. Pour plus d’informations sur l’utilisation du fichier .deploy.cmd , consultez Guide pratique pour installer un package de déploiement à l’aide du fichier deploy.cmd.
Le gestionnaire de déploiement web fournit une approche utile du déploiement dans les environnements intermédiaires, les environnements hébergés et les environnements de production basés sur intranet, où l’accès à distance au serveur est disponible, mais pas les informations d’identification de l’administrateur.
Pour obtenir un exemple de bout en bout d’un scénario qui utilise l’approche du gestionnaire de déploiement web, consultez Scénario : Configuration d’un environnement intermédiaire pour le déploiement web.
Utilisation du déploiement hors connexion
Dans certains cas, il n’est pas possible ou pratique de déployer des applications et du contenu sur un site web IIS à partir d’un emplacement distant. Par exemple, les ordinateurs source et de destination peuvent se trouver dans des réseaux isolés ou des segments réseau, ou la stratégie de pare-feu peut ne pas autoriser l’accès à distance.
Dans des scénarios tels que ceux-ci, vous pouvez toujours utiliser les fonctionnalités d’empaquetage et de publication de Web Deploy ; vous ne pouvez pas les utiliser à partir d’un emplacement distant. Au lieu de cela, un administrateur sur le serveur de destination doit copier le package web sur le serveur et l’importer via le Gestionnaire IIS.
L’approche de déploiement hors connexion est généralement utile dans les environnements de production accessibles sur Internet, où les serveurs d’un réseau de périmètre peuvent avoir une connectivité restreinte avec les ordinateurs du réseau interne.
Pour obtenir un exemple de bout en bout d’un scénario qui utilise l’approche de déploiement hors connexion, consultez Scénario : Configuration d’un environnement de production pour le déploiement web.
Pour aller plus loin
Pour plus d’informations sur les opérations et la syntaxe de ligne de commande Web Deploy, consultez Informations de référence sur la ligne de commande Web Deploy. Pour plus d’informations sur l’utilisation du fichier .deploy.cmd , consultez Guide pratique pour installer un package de déploiement à l’aide du fichier deploy.cmd.
Pour obtenir des conseils plus généraux sur les différentes façons dont vous pouvez déployer des packages web à partir d’un ordinateur distant, consultez Utilisation du déploiement web à distance. Pour plus d’informations sur l’utilisation de Web Deploy On Demand, consultez Web Deploy On Demand.