Installation manuelle de packages web
par Jason Lee
Cette rubrique explique comment importer manuellement un package de déploiement web dans Internet Information Services (IIS).
La rubrique Création et empaquetage de projets d’application web décrit comment l’outil de déploiement web IIS (Web Deploy), conjointement avec l’Microsoft Build Engine (MSBuild) et le pipeline de publication web (WPP), vous permet d’empaqueter vos projets d’application web dans un fichier zip unique. Ce fichier, communément appelé package de déploiement web (ou simplement package de déploiement), contient toutes les informations de contenu et de configuration dont IIS a besoin pour recréer votre application web sur un serveur web.
Une fois que vous avez créé un package de déploiement web, vous pouvez le publier sur un serveur IIS de différentes manières. Dans de nombreux scénarios, vous souhaiterez tirer parti des points d’intégration entre MSBuild, WPP et Web Deploy pour créer et installer des packages web à distance dans le cadre d’un processus de génération et de déploiement automatisé ou en une étape unique. Ce processus est décrit dans Déploiement de packages web. Toutefois, ce n’est pas toujours possible. Supposons que vous souhaitiez déployer une application web dans un environnement de production accessible sur Internet. Pour des raisons de sécurité, un tel environnement de production est à tout le moins susceptible d’être derrière un pare-feu sur un sous-réseau distinct du serveur de build, dans un réseau de périmètre (également appelé DMZ, zone démilitarisée et sous-réseau filtré). Dans de nombreux cas, l’environnement de production se trouve sur un domaine distinct ou sur un réseau physiquement isolé.
Dans ces scénarios, votre seule option peut consister à porter le package web sur le serveur de destination et à l’importer manuellement dans IIS. Bien que cette approche empêche le déploiement automatisé, il s’agit toujours d’une technique très efficace pour la publication d’une application web : il vous suffit de copier un seul fichier zip sur votre serveur web et d’utiliser un Assistant pour vous guider tout au long du processus d’importation.
Cette rubrique fait partie d’une série de tutoriels basés sur les exigences de déploiement d’entreprise d’une société fictive nommée Fabrikam, Inc. Cette série de tutoriels utilise un exemple de solution, la solution Contact Manager, pour représenter une application web avec un niveau de complexité réaliste, y compris une application MVC 3 ASP.NET, un service Windows Communication Foundation (WCF) et un projet de base de données.
Vue d’ensemble des tâches
Vous devez effectuer ces tâches générales pour importer un package de déploiement web dans IIS :
- Créez un package de déploiement web à l’aide de la ligne de commande MSBuild, Team Build ou Visual Studio 2010.
- Copiez le package web sur le serveur web de destination.
- Utilisez l’Assistant Importer un package d’application dans le Gestionnaire des services Internet pour installer le package web et fournir des valeurs pour des variables telles que les chaînes de connexion et les points de terminaison de service.
Cette rubrique vous montre comment effectuer ces procédures. Les tâches et les procédures pas à pas de cette rubrique supposent que vous êtes déjà familiarisé avec les concepts des packages web, du déploiement web et de WPP. Pour plus d’informations, consultez Génération et empaquetage de projets d’application web.
Notes
Cette rubrique est mieux utilisée conjointement avec Configurer un serveur web pour la publication Web Deploy (déploiement hors connexion), qui explique comment installer les composants requis et préparer un site web IIS pour l’importation de package.
Créer un package de déploiement web
La première tâche consiste à créer un package de déploiement web pour le projet d’application web que vous souhaitez déployer. Vous pouvez créer des packages web de différentes manières.
Approche 1 : Créer un package dans le cadre du processus de génération avec Visual Studio
Vous pouvez configurer votre projet d’application web pour créer un package de déploiement web après chaque build via l’onglet Package/Publier le web sur les pages de propriétés du projet. Ce processus est décrit dans Création et empaquetage de projets d’application web.
Approche 2 : Créer un package dans le cadre du processus de génération avec MSBuild
Si vous générez votre projet d’application web directement à l’aide de MSBuild, par le biais d’un fichier projet MSBuild personnalisé ou à partir de la ligne de commande, vous pouvez créer un package de déploiement web dans le cadre du processus de génération en incluant les propriétés DeployOnBuild=true et DeployTarget=Package dans votre commande. Ce processus est décrit dans Présentation du processus de génération.
Approche 3 : Créer un package à la demande dans Visual Studio
Vous pouvez créer un package de déploiement web pour un projet d’application web à tout moment dans Visual Studio 2010. Pour ce faire, dans la fenêtre Explorateur de solutions, cliquez avec le bouton droit sur votre projet d’application web, puis cliquez sur Générer le package de déploiement.
Approche 4 : Créer un package à la demande à partir de la ligne de commande
Vous pouvez créer un package de déploiement web à partir de la ligne de commande en appelant la cible de package sur votre projet d’application web à l’aide de MSBuild. La commande doit ressembler à ceci :
MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package
Quelle que soit l’approche que vous utilisez, le résultat final est le même. WPP crée un package de déploiement web sous forme de fichier zip, avec diverses ressources de prise en charge, dans le dossier de sortie de votre projet d’application web.
Lorsque vous envisagez d’importer le package web manuellement, vous avez uniquement besoin du fichier zip. Copiez ce fichier sur votre serveur web cible et vous pouvez commencer le processus d’importation.
Importer un package web dans IIS
Vous pouvez utiliser la procédure suivante pour importer un package de déploiement web à partir du système de fichiers local dans un site web IIS. Avant d’effectuer cette procédure, vérifiez que vous avez :
- Copiez le package de déploiement web sur le serveur web.
- Configurez un serveur web IIS pour héberger votre application.
Pour plus d’informations sur la configuration d’un serveur web IIS pour prendre en charge les packages de déploiement web, consultez Configurer un serveur web pour la publication Web Deploy (déploiement hors connexion).
Pour importer un package de déploiement web à l’aide du Gestionnaire des services Internet
Dans le Gestionnaire des SERVICES Internet, dans le volet Connexions , cliquez avec le bouton droit sur votre site web IIS, pointez sur Déployer, puis cliquez sur Importer une application.
Dans l’Assistant Importer un package d’application, dans la page Sélectionner le package , accédez à l’emplacement de votre package de déploiement web, puis cliquez sur Suivant.
Dans la page Sélectionner le contenu du package , effacez tout contenu dont vous n’avez pas besoin, puis cliquez sur Suivant.
Notes
Dans de nombreux cas, il se peut que vous ne souhaitiez pas importer tout ce qui est fourni avec un package de déploiement web. Par exemple, vous ne souhaitez peut-être pas autoriser Web Deploy à remplacer la base de données associée.
Les entrées Accorder des autorisations définissent des autorisations sur le système de fichiers de destination pour garantir que l’identité du pool d’applications peut accéder au dossier physique qui stocke le contenu du site web. En outre, l’utilisateur d’authentification anonyme dispose de l’autorisation de lecture sur le dossier pour permettre à l’application de traiter les fichiers de type MIME (Multipurpose Internet Mail Extensions). Si vous préférez, vous pouvez supprimer ces entrées et configurer les autorisations manuellement.Dans la page Entrer les informations du package d’application , fournissez les informations demandées.
Lorsque vous créez un package web, WPP analyse le fichier de configuration de votre application et détecte toutes les variables, telles que les chaînes de connexion et les points de terminaison de service. Dans ce cas :
Chemin d’accès de l’application est le chemin IIS où vous souhaitez installer votre application. Ce paramètre est commun à tous les packages de déploiement créés par WPP.
ContactService Service Endpoint Address est l’adresse que l’application doit utiliser pour communiquer avec le service WCF déployé. Ce paramètre correspond à une entrée dans le fichier web.config .
Le premier paramètre Chaîne de connexion est la chaîne de connexion que Web Deploy doit utiliser pour déployer la base de données associée à l’application (dans ce cas, une base de données d’appartenance ASP.NET). Ce paramètre correspond au paramètre de l’onglet Package/Publier SQL dans Visual Studio.
Le deuxième paramètre Chaîne de connexion est la chaîne de connexion que votre application utilisera réellement pour communiquer avec la base de données lorsqu’elle est en cours d’exécution. Cela correspond à une entrée de chaîne de connexion dans le fichier web.config .
Notes
Pour plus d’informations sur l’emplacement de ces paramètres, consultez Configuration des paramètres pour le déploiement de package web.
Cliquez sur Suivant.
Si ce n’est pas la première fois que vous déployez l’application sur ce site web, vous serez invité à spécifier si vous souhaitez supprimer tout le contenu existant avant l’installation. Choisissez l’option adaptée à vos besoins, puis cliquez sur Suivant.
Une fois l’installation du package terminée par IIS, cliquez sur Terminer.
À ce stade, vous avez correctement publié votre application web sur IIS.
Conclusion
Cette rubrique décrit comment importer un package de déploiement web dans un site web IIS à l’aide du Gestionnaire des services Internet. Cette approche de la publication d’applications web est appropriée lorsque des contraintes de sécurité ou d’infrastructure rendent le déploiement à distance impossible ou indésirable.
En savoir plus
Pour obtenir des conseils sur la configuration d’un serveur web IIS pour prendre en charge l’importation manuelle d’un package web, consultez Configurer un serveur web pour la publication Web Deploy (déploiement hors connexion). Pour obtenir des conseils plus généraux sur le déploiement de packages web, consultez Procédure pas à pas : Déploiement d’un projet d’application web à l’aide d’un package de déploiement web (partie 1 sur 4).