Procédure pas à pas : déploiement d'un projet d'application Web à l'aide d'un package de déploiement Web (partie 2 sur 4)
Cette procédure pas à pas est la deuxième d'une série de procédures pas à pas qui expliquent comment déployer un projet d'application Web à l'aide d'un package de déploiement. Pour plus d'informations sur la série de procédures pas à pas, 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).
Dans cette procédure pas à pas, vous modifiez la base de données AdventureWorksLT et vous déployez les modifications. Vous modifiez ensuite une page Web et vous déployez ces modifications, mais sans déployer les modifications de base de données. Cette procédure pas à pas décrit les tâches suivantes :
Redéploiement d'une base de données qui a déjà été déployée.
Exclusion du déploiement d'une base de données déjà déployée.
Création d'un package pour la configuration de build Debug.
Installation d'un package sur l'ordinateur local à l'aide du Gestionnaire des services IIS.
Composants requis
Pour obtenir la liste des composants requis, 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).
Configuration du déploiement pour les modifications de base de données
Si vous souhaitez déployer une modification de base de données (structure ou données) sur une application Web qui a déjà été déployée et si vous n'avez pas besoin de conserver les données entrées dans la base de données déployée, vous pouvez redéployer la base de données à l'aide des scripts générés automatiquement. Toutefois, par défaut, les scripts générés automatiquement ne suppriment pas les objets de base de données avant de les créer (ou de les recréer) sur l'ordinateur de destination. Par conséquent, vous devez spécifier que des instructions Drop doivent être incluses pour empêcher que des erreurs soient générées lorsque des scripts tentent de créer des objets de base de données qui existent déjà.
De cette section de la procédure pas à pas, vous modifiez la structure de la base de données AdventureWorksLT. Vous redéployez ensuite l'application Web. Vous modifiez des paramètres de déploiement de base de données de sorte que les scripts générés automatiquement pour la base de données AdventureWorksLT comportent des instructions Drop et qu'aucun autre script de base de données ne soit exécuté pendant le déploiement.
Dans la procédure suivante, vous remplacez le nom du champ Couleur par Apparence dans la base de données et dans le fichier Default.aspx.
Pour modifier le nom d'un champ de base de données
Dans l'Explorateur de serveurs, développez le dossier App_Data et double-cliquez sur AdventureWorksLT2008_Data.mdf.
La base de données s'ouvre dans la fenêtre Explorateur de serveurs.
Dans l'Explorateur de serveurs, développez le dossier Tables.
Cliquez avec le bouton droit sur la table Product (SalesLT), puis cliquez sur Ouvrir la définition de table.
Remplacez le nom de la colonne Couleur par Apparence, comme indiqué dans l'exemple suivant :
Enregistrez la table et fermez la fenêtre Définition de table.
Ouvrez le fichier Default.aspx.
Dans le contrôle GridView, recherchez l'élément BoundField pour la colonne Couleur et remplacez la valeur Couleur des propriétés DataField, SortExpression et HeaderText par Apparence, comme indiqué dans l'exemple suivant :
<asp:BoundField DataField="Appearance" HeaderText="Appearance" SortExpression="Appearance" />
Enregistrez et fermez le fichier Default.aspx.
Appuyez sur CTRL-F5 pour tester les modifications.
La page d'accueil s'affiche. Le nom de la colonne Couleur est devenu Apparence, comme le montre l'illustration suivante :
Dans la procédure suivante, vous configurez le déploiement de sorte qu'il génère des instructions Drop pour la base de données AdventureWorksLT. Pour ce faire, vous devez modifier le fichier projet, car le paramètre n'est pas disponible dans l'interface utilisateur de Visual Studio.
Pour spécifier que des instructions Drop doivent être incluses
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Ouvrir le dossier dans l'Explorateur Windows.
Le dossier du projet s'affiche dans une fenêtre Explorateur Windows.
Ouvrez AdventureWorks.csproj ou AdventureWorks.vbproj à l'aide d'un éditeur de texte tel que le Bloc-notes.
Recherchez l'élément PropertyGroup pour la configuration de build Debug et la plateforme AnyCPU.
Cet élément contient les paramètres que vous avez entrés sous les onglets Package/Publication Web et Package/Publication SQL sur la page Propriétés du projet.
Dans l'élément PropertyGroup, recherchez l'élément ObjectGroup dont le nom est AWLTConnectionString-Deployment.
Cet élément contient les paramètres de l'onglet Package/Publication SQL relatifs à la base de données AdventureWorksLT.
Dans l'élément ObjectGroup, ajoutez un attribut ScriptDropsFirst="True" à l'élément PreSource qui se trouve dans le premier élément Object.
L'exemple suivant affiche l'élément PropertyGroup qui contient l'élément PreSource modifié. (Certains détails de l'élément de votre fichier projet sont légèrement différents des détails de cet exemple.)
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> ... <PublishDatabaseSettings> ... <Objects> ... <ObjectGroup Name="AWLTConnectionString-Web.config" Order="2"> <Destination Path="..." /> <Object Type="dbFullSql"> <PreSource Path="..." ScriptSchema="True" ScriptData="True" CopyAllFullTextCatalogs="False" ScriptDropsFirst="True"/> <Source Path="..." Transacted="True" /> </Object> <Object Type="dbFullSql" Enabled="True"> <Source Path="...AdventureWorksGrant.sql" Transacted="True" /> </Object> </ObjectGroup> </Objects> </PublishDatabaseSettings> </PropertyGroup>
Enregistrez et fermez le fichier AdventureWorks.csproj ou AdventureWorks.vbproj.
Si une boîte de dialogue Modification de fichier détectée s'affiche, comme indiqué dans l'illustration suivante, cliquez sur le bouton Recharger.
Dans la procédure suivante, vous spécifiez que les scripts de base de données ne doivent pas s'exécuter. Cela inclut le script généré automatiquement pour la base de données ApplicationServices et le script AdventureWorksGrant.sql.
Pour spécifier qu'aucun autre script ne doit s'exécuter pendant le déploiement
Sur la page Propriétés du projet, cliquez sur l'onglet Package/Publication SQL.
Dans la liste Configuration, assurez-vous que l'option Active (Debug) est sélectionnée.
Dans la grille Entrées de la base de données, assurez-vous que la ligne ApplicationServices-Deployment est sélectionnée.
Dans la grille Scripts de base de données, désactivez la case à cocher Inclure pour la ligne dont la colonne Chemin d'accès au script comporte [Schéma et données générés automatiquement], comme indiqué dans l'illustration suivante :
Dans la grille Entrées de la base de données, sélectionnez la ligne AWLTConnectionString-Deployment.
Dans la grille Scripts de la base de données, désactivez la case à cocher Inclure pour la ligne qui comporte le script AdventureWorksGrant.sql.
Enregistrez et fermez la page Propriétés.
Déploiement des modifications de base de données
Dans la procédure suivante, vous déployez le projet en créant un package que vous importez ensuite dans IIS à l'aide de Gestionnaire des services IIS.
Pour créer un package et l'importer dans IIS
Dans le menu Projet, cliquez sur Générer un package de déploiement.
Visual Studio génère le projet, puis crée le package de déploiement. Les scripts qui contiennent des instructions Drop sont créés pour la base de données AdventureWorksLT. Aucun script n'est créé pour la base de données ApplicationServices.
Copiez le chemin d'accès du package de déploiement dans le Presse-papiers Windows en procédant comme suit :
Dans l'Explorateur de solutions, si le dossier obj n'est pas visible, cliquez sur le bouton Afficher tous les fichiers.
Développez successivement les dossiers obj, Debug et Package.
Sélectionnez le fichier AdventureWorks.zip.
Dans la fenêtre Propriétés, copiez la valeur du champ Chemin d'accès complet.
Dans le Panneau de configuration de Windows, cliquez sur Outils d'administration, puis sur Gestionnaire des services Internet (IIS).
Dans le volet Connexions du Gestionnaire des services IIS, développez le nœud de votre ordinateur, développez le dossier Sites, puis sélectionnez Site Web par défaut.
Dans le volet Actions, cliquez sur le lien hypertexte Importer une application.
Dans la zone Chemin d'accès du package de la boîte de dialogue Sélectionner le package, collez le chemin d'accès du package de déploiement.
Cliquez sur Suivant.
Dans la boîte de dialogue Sélectionner le contenu du package, cliquez sur Suivant.
Dans la boîte de dialogue Entrer les informations sur le package d'application, cliquez sur Suivant.
Dans la boîte de dialogue Remplacer les fichiers existants, cliquez sur Suivant.
Une fois le package installé, la boîte de dialogue Progression de l'installation et résumé indique qu'une seule base de données a été mise à jour, comme indiqué dans l'illustration suivante :
Testez l'application en ouvrant un navigateur et en accédant à l'URL suivante :
https://localhost/AdventureWorks
La page Default.aspx s'affiche. Elle conserve l'apparence qu'elle avait lorsque vous avez exécuté le projet dans Visual Studio. Le tableau des produits affiche une colonne Apparence à la place d'une colonne Couleur. Cela indique que les modifications apportées à la base de données AdventureWorksLT ont été déployées avec succès.
Redéploiement sans modifications de base de données
Les structures de base de données sont généralement moins souvent modifiées que d'autres parties d'une application Web. Dans cette section de la procédure pas à pas, vous modifiez une page Web et vous redéployez l'application Web, mais vous ne déployez pas les modifications de base de données.
Dans la procédure suivante, vous remplacez le titre Nom de la première colonne du tableau des produits AdventureWorksLT sur la page Default.aspx par Produit.
Pour apporter une modification à l'application
Ouvrez le fichier Default.aspx.
Remplacez la propriété BoundField.HeaderText de la colonne Nom par Produit, comme indiqué dans l'exemple suivant :
<asp:BoundField DataField="Name" HeaderText="Product" SortExpression="Name" />
Enregistrez et fermez le fichier.
Dans la procédure suivante, vous modifiez les paramètres de déploiement de base de données pour faire en sorte que Visual Studio ne génère aucun script de base de données.
Pour désactiver le déploiement de base de données
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet, puis cliquez sur Propriétés.
Sélectionnez l'onglet Package/Publication Web.
Désactivez la case à cocher Inclure toutes les bases de données configurées sous l'onglet Package/Publication SQL.
Enregistrez et fermez la page Propriétés.
Dans la procédure suivante, vous redéployez l'application et vous testez vos modifications.
Pour redéployer et tester l'application
Dans le menu Projet, cliquez sur Générer un package de déploiement.
Copiez le chemin d'accès du package de déploiement dans le Presse-papiers de Windows.
Exécutez le Gestionnaire des services Internet (IIS).
Dans le Gestionnaire des services IIS, sélectionnez Site Web par défaut.
Dans le volet Actions, cliquez sur le lien hypertexte Importer une application.
Dans la zone Chemin d'accès du package de la boîte de dialogue Sélectionner le package, collez le chemin d'accès du package de déploiement.
Cliquez sur Suivant.
Dans la boîte de dialogue Sélectionner le contenu du package, cliquez sur Suivant.
Dans la boîte de dialogue Entrer les informations sur le package d'application, cliquez sur Suivant.
Dans la boîte de dialogue Remplacer les fichiers existants, cliquez sur Suivant.
Cette fois-ci, la boîte de dialogue Progression de l'installation et résumé indique qu'aucune base de données n'a été mise à jour et qu'un seul fichier a été mis à jour.
Testez l'application en ouvrant un navigateur et en accédant à l'URL suivante :
https://localhost/AdventureWorks
Une fois de plus, la page Default.aspx conserve l'apparence qu'elle avait lorsque vous l'avez exécutée dans Visual Studio. Le titre Produit de la première colonne du tableau des produits indique que la modification apportée au fichier Default.aspx a été déployée avec succès.
Étapes suivantes
Dans la première procédure pas à pas de cette série, vous avez déployé un projet d'application Web de système de fichiers sur une application Web IIS afin de le tester sur l'ordinateur de développement. Dans cette procédure pas à pas, vous avez modifié la structure de l'une des bases de données, modifié des pages Web et déployé les modifications.
La procédure pas à pas suivante de la série est Procédure pas à pas : déploiement d'un projet d'application Web à l'aide d'un package de déploiement Web (partie 3 sur 4). Dans cette procédure pas à pas, vous créez un package de déploiement qui peut être utilisé pour réaliser un déploiement sur un environnement intermédiaire et un serveur de production.
Voir aussi
Concepts
Organigramme des informations relatives au déploiement ASP.NET