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 Tom Dykstra
Télécharger le projet de démarrage
Cette série de tutoriels vous montre comment déployer (publier) une application web ASP.NET sur Azure App Service Web Apps ou sur un fournisseur d’hébergement tiers, à l’aide de Visual Studio 2012 ou de Visual Studio 2010. Pour plus d’informations sur la série, consultez le premier didacticiel de la série.
Vue d’ensemble
Ce tutoriel vous montre comment appeler le pipeline de publication web Visual Studio à partir de la ligne de commande. Cela est utile pour les scénarios où vous souhaitez automatiser le processus de déploiement au lieu de le faire manuellement dans Visual Studio, généralement à l’aide d’un système de contrôle de version de code source.
Apporter une modification au déploiement
Actuellement, la page About affiche le code du modèle.
Vous allez remplacer cela par du code qui affiche un résumé de l’inscription des étudiants.
Ouvrez la page About.aspx , supprimez tout le balisage à l’intérieur de l’élément MainContent
Content
et insérez le balisage suivant à sa place :
<h2>Student Body Statistics</h2>
<asp:ObjectDataSource ID="StudentStatisticsObjectDataSource" runat="server" TypeName="ContosoUniversity.BLL.SchoolBL"
SelectMethod="GetStudentStatistics" DataObjectTypeName="ContosoUniversity.DAL.EnrollmentDateGroup">
</asp:ObjectDataSource>
<asp:GridView ID="StudentStatisticsGridView" runat="server" AutoGenerateColumns="False"
DataSourceID="StudentStatisticsObjectDataSource">
<Columns>
<asp:BoundField DataField="EnrollmentDate" DataFormatString="{0:d}" HeaderText="Date of Enrollment"
ReadOnly="True" SortExpression="EnrollmentDate" />
<asp:BoundField DataField="StudentCount" HeaderText="Students" ReadOnly="True"
SortExpression="StudentCount" />
</Columns>
</asp:GridView>
Exécutez le projet et sélectionnez la page À propos .
Déployer sur Test à l’aide de la ligne de commande
Vous ne allez pas déployer une autre modification de base de données. Désactivez donc le déploiement de base de données dbDacFx pour la base de données aspnet-ContosoUniversity. Ouvrez l’Assistant Publier le web et, dans chacun des trois profils de publication, désactivez la case à cocher Mettre à jour la base de données sous l’onglet Paramètres .
Dans la page de démarrage de Windows 8, recherchez l’invite de commandes développeur pour VS2012.
Cliquez avec le bouton droit sur l’icône de l’invite de commandes développeur pour VS2012 , puis cliquez sur Exécuter en tant qu’administrateur.
Entrez la commande suivante à l’invite de commandes, en remplaçant le chemin d’accès au fichier solution par le chemin d’accès à votre fichier solution :
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=Test
MSBuild génère la solution et la déploie dans l’environnement de test.
Ouvrez un navigateur et accédez à http://localhost/ContosoUniversity
, puis cliquez sur la page À propos pour vérifier que le déploiement a réussi.
Si vous n’avez pas créé d’étudiants dans le test, vous verrez une page vide sous l’en-tête Statistiques du corps des étudiants. Accédez à la page Étudiants , cliquez sur Ajouter un étudiant, puis ajoutez des étudiants, puis revenez à la page About pour afficher les statistiques des étudiants.
Options de ligne de commande clé
La commande que vous avez entrée a passé le chemin du fichier solution et deux propriétés à MSBuild :
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true
/p:PublishProfile=Test
Déploiement de la solution par rapport au déploiement de projets individuels
La spécification du fichier solution entraîne la génération de tous les projets de la solution. Si vous avez plusieurs projets web dans la solution, le comportement MSBuild suivant s’applique :
- Les propriétés que vous spécifiez sur la ligne de commande sont transmises à chaque projet. Par conséquent, chaque projet web doit avoir un profil de publication portant le nom que vous spécifiez. Si vous spécifiez
/p:PublishProfile=Test
, chaque projet web doit avoir un profil de publication nommé Test. - Vous pouvez publier un projet quand un autre n’est même pas généré. Pour plus d’informations, consultez le thread stackoverflow MSBuild échoue avec deux packages.
Si vous spécifiez un projet individuel au lieu d’une solution, vous devez ajouter un paramètre qui spécifie la version de Visual Studio. Si vous utilisez Visual Studio 2012, la ligne de commande ressemble à l’exemple suivant :
msbuild C:\ContosoUniversity\ContosoUniversity\ContosoUniversity.csproj /p:DeployOnBuild=true /p:PublishProfile=Test /p:VisualStudioVersion=11.0
Le numéro de version de Visual Studio 2010 est 10.0. Pour plus d’informations, consultez la compatibilité des projets Visual Studio et VisualStudioVersion sur le blog de Sayed Hashimi.
Spécification du profil de publication
Vous pouvez spécifier le profil de publication par nom ou par le chemin complet du fichier .pubxml , comme illustré dans l’exemple suivant :
msbuild C:\ContosoUniversity\ContosoUniversity.sln /p:DeployOnBuild=true /p:PublishProfile=C:\ContosoUniversity\ContosoUniversity\Properties\PublishProfiles\Test.pubxml
Méthodes de publication web prises en charge pour la publication en ligne de commande
Trois méthodes de publication sont prises en charge pour la publication en ligne de commande :
MSDeploy
- Publier à l’aide du déploiement web.Package
- Publier en créant un package Web Deploy. Vous devez installer le package séparément de la commande MSBuild qui la crée.FileSystem
- Publier en copiant des fichiers dans un dossier spécifié.
Spécification de la configuration et de la plateforme de build
La configuration et la plateforme de build doivent être définies dans Visual Studio ou sur la ligne de commande. Les profils de publication incluent des propriétés nommées LastUsedBuildConfiguration
et LastUsedPlatform
, mais vous ne pouvez pas définir ces propriétés pour déterminer la façon dont le projet est généré. Pour plus d’informations, consultez MSBuild : comment définir la propriété de configuration sur le blog de Sayed Hashimi.
Résumé
Vous avez maintenant déployé une mise à jour d’application à l’aide de la ligne de commande.
Dans le tutoriel suivant, vous verrez un exemple d’extension du pipeline de publication web. L’exemple vous montre comment déployer des fichiers qui ne sont pas inclus dans le projet.