Déployez votre application sur un dossier, IIS, Azure ou une autre destination
En déployant une application, un service ou un composant, vous le distribuez pour l'installation sur d'autres ordinateurs, périphériques, serveurs ou dans le cloud. Vous choisissez la méthode appropriée dans Visual Studio pour le type de déploiement dont vous avez besoin.
Obtenez de l’aide pour votre tâche de déploiement :
- Vous ne savez pas quelle option de déploiement choisir ? Consultez Quelles options de publication choisir ?
- Pour obtenir de l’aide sur les problèmes de déploiement pour Azure App Service ou IIS, consultez Résoudre les problèmes ASP.NET Core sur Azure App Service et IIS.
- Pour obtenir de l’aide sur la configuration des paramètres de déploiement .NET, consultez Configurer les paramètres de déploiement .NET.
Pour effectuer un déploiement sur une nouvelle cible, si vous avez précédemment créé un profil de publication, sélectionnez Nouveau dans la fenêtre Publier pour un profil configuré.
Ensuite, choisissez une option de déploiement dans l’outil Publier. Pour plus d’informations sur vos options de publication, consultez les sections suivantes.
Pour effectuer un déploiement sur une nouvelle cible, si vous avez précédemment créé un profil de publication, sélectionnez Publier la sélection dans le menu pour un profil configuré Créer.
Ensuite, choisissez une option de déploiement dans l’outil Publier. Pour plus d’informations sur vos options de publication, consultez les sections suivantes.
À partir de Visual Studio, les applications peuvent être publiées directement sur les cibles suivantes :
- Microsoft Azure
- Registre de conteneurs Docker
- DevTest Labs
- Folder
- Serveur FTP/FTPS
- Serveur Web (IIS)
- Profil d’importation
Les options précédentes s’affichent comme indiqué dans l’illustration suivante lorsque vous créez un profil de publication.
Pour une visite guidée rapide des options de déploiement d’applications plus générales, consultez Premier aperçu du déploiement.
Lorsque vous choisissez Azure, vous pouvez choisir entre :
- Azure App Service s’exécutant sur Windows, Linux ou en tant qu’image Docker
- Une image Docker déployée sur Azure Container Registry
- Un ordinateur virtuel Azure
Azure App Service permet aux développeurs de créer rapidement des applications web et services évolutifs sans gestion d’infrastructure. Un plan App Service s’exécute sur des machines virtuelles hébergées dans le cloud Azure, mais ces machines virtuelles sont gérées pour vous. Chaque application d’un plan App Service reçoit une URL *.azurewebsites.net unique. Tous les niveaux tarifaires payants permettent d’attribuer des noms de domaine personnalisés au site.
Vous déterminez la puissance de calcul d’un service d’applications en choisissant un plan ou niveau tarifaire pour le plan App Service qui le contient. Vous pouvez avoir plusieurs applications web (et d’autres types d’application) qui partagent le même plan App Service sans modifier le niveau tarifaire. Par exemple, vous pouvez héberger des applications web de développement, de préproduction et de production dans le même plan App Service.
- Vous voulez déployer une application web accessible par Internet.
- Vous voulez automatiquement mettre à l’échelle votre application web en fonction de la demande sans avoir à la redéployer.
- Vous ne voulez pas gérer l’infrastructure de serveur (y compris les mises à jour logicielles).
- Vous n’avez pas besoin de personnaliser les ordinateurs serveur qui hébergent votre application web.
Si vous voulez utiliser Azure App Service dans votre centre de données ou sur d’autres ordinateurs locaux, vous pouvez le faire à l’aide d’Azure Stack.
Pour plus d’informations sur la publication sur App Service, consultez :
- Démarrage rapide : Publier sur Azure App Service
- Démarrage rapide : Publier ASP.NET Core sur Linux.
- Publier une application ASP.NET Core sur Azure
- Résoudre les problèmes liés à ASP.NET Core sur Azure App Service et IIS.
Azure Container Registry vous permet de créer, de stocker et de gérer des images conteneur et des artefacts dans un conteneur privé pour tous les types de déploiement de conteneur.
- Lorsque vous disposez d’un pipeline de développement et de déploiement de conteneur Docker existant.
- Quand vous souhaitez créer des images conteneur Docker dans Azure.
Pour plus d'informations :
Le service Machines virtuelles Azure vous permet de créer et gérer des ressources informatiques dans le cloud. Si vous prenez en charge tous les logiciels et mises à jour sur les machines virtuelles, vous pouvez les personnaliser comme vous le souhaitez en fonction des besoins de votre application. Vous pouvez également accéder aux machines virtuelles directement via le Bureau à distance, chaque machine conservant son adresse IP aussi longtemps que vous le souhaitez.
La mise à l’échelle d’une application hébergée sur des machines virtuelles implique l’ajout de machines virtuelles supplémentaires en fonction de la demande et le déploiement des logiciels nécessaires. Ce niveau de contrôle supplémentaire vous permet de moduler la mise à l’échelle selon la région globale. Par exemple, si votre application est utilisée par les employés de différents bureaux régionaux, vous pouvez mettre à l’échelle vos machines virtuelles en fonction du nombre d’employés dans ces régions et ainsi potentiellement réduire les coûts.
Pour plus d’informations, consultez la comparaison détaillée d’Azure App Service, Machines virtuelles Azure et d’autres services Azure que vous pouvez utiliser comme cible de déploiement à l’aide de l’option Personnalisé dans Visual Studio.
- Vous voulez déployer une application web accessible par Internet, avec un contrôle total sur la durée de vie des adresses IP attribuées.
- Vous avez besoin de personnaliser vos ordinateurs serveur, notamment installer des logiciels supplémentaires, par exemple, un système de base de données spécialisé, des configurations réseau spécifiques, des partitions de disque et ainsi de suite.
- Vous voulez contrôler la mise à l’échelle de votre application web.
- Vous avez besoin d’un accès direct aux serveurs qui hébergent votre application.
Si vous voulez utiliser le service Machines virtuelles Azure dans votre centre de données ou sur d’autres ordinateurs locaux, vous pouvez le faire à l’aide d’Azure Stack.
Si votre application utilise Docker, vous pouvez publier votre application conteneurisée dans un registre de conteneurs Docker.
- Vous souhaitez déployer une application conteneurisée
Pour plus d’informations, consultez les rubriques suivantes :
Utilisez l’option Déploiement de dossiers dans l’outil Publier si vous souhaitez effectuer un déploiement sur Azure DevTest Labs.
Pour connaître les étapes complètes, consultez Publier une application à des fins de test sur une machine virtuelle Azure DevTest Labs. Dans l’article en lien, les étapes de publication du dossier s’appliquent à .NET Core/.NET 5+. Le reste des instructions s’applique à .NET et .NET Framework. Pour les applications ClickOnce .NET Framework, vous pouvez utiliser l’Assistant Publication pour effectuer la publication dans un dossier.
Le déploiement sur le système de fichiers revient à copier les fichiers de votre application dans un dossier spécifique sur votre ordinateur. Déployer vers un dossier est souvent utilisé à des fins de test ou pour déployer l’application pour un nombre limité d’utilisateurs si l’ordinateur exécute également un serveur. Si le dossier cible est partagé sur un réseau, le déploiement sur le système de fichiers permet de mettre les fichiers de l’application web à la disposition d’autres utilisateurs qui peuvent ensuite la déployer sur des serveurs spécifiques.
À compter de Visual Studio 2019 16.8, la cible de dossier inclut la possibilité de publier une application Windows .NET à l’aide de ClickOnce.
Si vous souhaitez publier un projet de bureau .NET Windows (.NET Core 3.1, .NET 5 et versions ultérieures) avec ClickOnce, consultez Déployer une application .NET Windows à l’aide de ClickOnce.
Les ordinateurs locaux qui exécutent un serveur peuvent rendre votre application disponible sur Internet ou un intranet en fonction de sa configuration et des réseaux auxquels il est connecté. (Si vous connectez un ordinateur directement à Internet, veillez particulièrement à le protéger contre les menaces de sécurité externes.) Étant donné que vous gérez ces machines, vous avez le contrôle total des configurations logicielles et matérielles.
Si pour une raison quelconque (par exemple, l’accès à l’ordinateur), vous n’êtes pas en mesure d’utiliser les services cloud comme Azure App Service ou Machines virtuelles Azure, vous pouvez utiliser Azure Stack dans votre centre de données. Azure Stack vous permet de gérer et d’utiliser localement les ressources informatiques grâce à Azure App Service et les Machines virtuelles Azure.
Vous avez besoin de déployer l’application uniquement sur un partage de fichiers à partir duquel d’autres utilisateurs la déploieront sur différents serveurs.
Vous souhaitez déployer une application Windows .NET avec ClickOnce
Vous avez besoin d’un déploiement de test local uniquement.
Vous voulez examiner et éventuellement modifier les fichiers d’application indépendamment avant de les envoyer vers une autre cible de déploiement.
Pour plus d’informations, consultez Démarrage rapide - Déployer dans un dossier local.
Pour plus d’informations sur le déploiement d’une application .NET Windows à l’aide de ClickOnce, consultez Déployer une application .NET Windows à l’aide de ClickOnce.
Pour obtenir de l’aide supplémentaire sur le choix de vos paramètres, consultez :
- Déploiement dépendant de l’infrastructure par rapport à un déploiement autonome
- Identificateurs de runtime cible (RID portable, etc.)
- Configurations de débogage et de mise en production
Un serveur FTP/FTPS vous permet de déployer votre application sur un serveur autre qu’Azure. Elle peut effectuer le déploiement sur un système de fichiers ou tout autre serveur (Internet ou intranet) auquel vous avez accès, y compris sur d’autres services cloud. Elle peut fonctionner avec Web Deploy (fichiers ou. ZIP) et FTP.
Quand vous choisissez un serveur FTP/FTPS, Visual Studio vous demande un nom de profil, puis collecte des informations de connexion supplémentaires, y compris le serveur ou l’emplacement cible, un nom de site et des informations d’identification. Vous pouvez contrôler les comportements suivants sur l’onglet Paramètres :
- La configuration que vous souhaitez déployer.
- Si vous souhaitez supprimer des fichiers existants à partir de la destination.
- Si vous souhaitez précompiler durant la publication.
- Si vous souhaitez exclure des fichiers dans le dossier App_Data issu du déploiement.
Vous pouvez créer autant de profils de déploiement FTP/FTPS dans Visual Studio que nécessaire, ce qui permet de gérer les profils avec des paramètres différents.
- Vous utilisez des services cloud sur un autre fournisseur qu’Azure accessible via des URL.
- Vous voulez effectuer le déploiement à l’aide d’autres informations d’identification que celles que vous utilisez dans Visual Studio ou que celles directement liées à vos comptes Azure.
- Vous voulez supprimer les fichiers de la cible à chaque déploiement.
Un serveur web IIS vous permet de déployer votre application sur un serveur web autre qu’Azure. Le déploiement peut être effectué sur un serveur IIS (Internet ou intranet) auquel vous avez accès, y compris sur d’autres services cloud. Il peut fonctionner avec Web Deploy ou un package Web Deploy.
Quand vous choisissez un serveur IIS, Visual Studio vous demande un nom de profil, puis collecte des informations de connexion supplémentaires, y compris le serveur ou l’emplacement cible, un nom de site et des informations d’identification. Vous pouvez contrôler les comportements suivants sur l’onglet Paramètres :
- La configuration que vous souhaitez déployer.
- Si vous souhaitez supprimer des fichiers existants à partir de la destination.
- Si vous souhaitez précompiler durant la publication.
- Si vous souhaitez exclure des fichiers dans le dossier App_Data issu du déploiement.
Vous pouvez créer autant de profils de déploiement de serveur web IIS dans Visual Studio que nécessaire, ce qui permet de gérer les profils avec des paramètres différents.
- Vous utilisez IIS pour publier un site ou un service accessible via des URL.
- Vous voulez effectuer le déploiement à l’aide d’autres informations d’identification que celles que vous utilisez dans Visual Studio ou que celles directement liées à vos comptes Azure.
- Vous voulez supprimer les fichiers de la cible à chaque déploiement.
Pour plus d’informations, consultez Démarrage rapide - Déployer sur un site web.
Pour obtenir de l’aide sur la résolution des problèmes ASP.NET Core sur IIS, consultez Résoudre les problèmes ASP.NET Core sur Azure App Service et IIS.
Vous pouvez importer un profil lors de la publication sur IIS ou Azure App Service. Vous pouvez configurer le déploiement à l’aide d’un fichier de paramètres de publication (*.publishsettings). Un fichier de paramètres de publication est créé par IIS ou Azure App Service, il peut aussi être créé manuellement, pour ensuite être importé dans Visual Studio.
L’utilisation d’un fichier de paramètres de publication peut simplifier la configuration du déploiement et fonctionne mieux dans un environnement d’équipe par rapport à la configuration manuelle de chaque profil de déploiement.
- Vous publiez sur IIS et vous souhaitez simplifier la configuration du déploiement.
- Vous publiez sur IIS ou Azure App Service et vous souhaitez accélérer la configuration du déploiement pour la réutilisation ou la publication par les membres de l’équipe sur le même service.
Pour plus d’informations, consultez les rubriques suivantes :
- Importer des paramètres de publication et déployer sur IIS
- Importer des paramètres de publication et déployer sur Azure
Pour obtenir de l’aide supplémentaire sur le choix de vos paramètres, consultez :
- Déploiement dépendant de l’infrastructure par rapport à un déploiement autonome
- Identificateurs de runtime cible (RID portable, etc.)
- Configurations de débogage et de mise en production
Tutoriels :