Partage via


Déployer votre application dans 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, appareils, 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 :

Capture d’écran de la création d’un nouveau profil de publication.

Capture d’écran de la création d’un nouveau profil de publication.

Choisissez ensuite une option de déploiement dans l’outil Publier. Pour plus d’informations sur vos options de publication, consultez les sections suivantes.

Quelles options de publication sont appropriées pour moi ?

À partir de Visual Studio, les applications peuvent être publiées directement sur les cibles suivantes :

Les options précédentes s’affichent comme indiqué dans l’illustration suivante lorsque vous créez un profil de publication.

Capture d’écran de l’option Choisir une publication.

Capture d’écran de l’option Choisir une publication.

Pour une visite rapide des options plus générales de déploiement d'applications, consultez Premier aperçu du déploiement.

Azur

Lorsque vous choisissez Azure, vous pouvez choisir entre :

  • Azure App Service s’exécutant sur Windows, Linux ou en tant qu’image Docker
  • Image Docker déployée sur azure Container Registry
  • Une machine virtuelle Azure

capture d’écran de Choisir un service Azure.

capture d’écran de Choisir un service Azure.

Azure Container Apps

Azure Container Apps permet aux développeurs de créer et de gérer des applications et services web conteneurisés.

Bien que vous puissiez déployer une application conteneurisée sur Azure App Service, Azure Container Apps est optimisé pour utiliser des ressources plus efficacement pour les applications conteneurisées, de sorte qu’il existe des économies ainsi que d’autres avantages liés à l’utilisation d’Azure Container Apps.

Quand choisir Azure Container Apps

  • Vos applications et services s’exécutent dans un conteneur ou plusieurs conteneurs
  • Vous avez besoin d’une haute disponibilité et d’une mise à l’échelle flexible
  • Votre application est un bon choix pour un modèle architectural de microservices, avec des fonctionnalités divisées en un ensemble modulaire de services à tâche unique, généralement implémentés comme Azure Functions. Par exemple, des ensembles de services à tâche unique qui s’exécutent en tant que travaux discrets, répondent aux événements ou qui traitent les demandes des files d’attente ou des déclencheurs.
  • Vous souhaitez bénéficier des avantages de l’orchestration de conteneurs (Kubernetes), mais ne souhaitez pas gérer Kubernetes directement. (Si vous souhaitez contrôler en profondeur l’infrastructure Kubernetes qui prend en charge vos services conteneurisés, envisagez d’utiliser azure Kubernetes Service (AKS).

Azure App Service

Azure App Service permet aux développeurs de créer rapidement des applications et des services web évolutifs sans gérer l’infrastructure. App Service s’exécute sur des machines virtuelles hébergées dans le cloud dans Azure, mais ces machines virtuelles sont gérées pour vous. Chaque application d’un App Service reçoit une URL *.azurewebsites.net unique ; tous les niveaux tarifaires autres que Free autorisent l’attribution de noms de domaine personnalisés au site.

Vous déterminez la puissance de calcul d’un App Service en choisissant un niveau tarifaire ou un plan pour l’App Service conteneur. Vous pouvez avoir plusieurs applications web (et d’autres types d’applications) partager le même App Service sans modifier le niveau tarifaire. Par exemple, vous pouvez héberger ensemble des applications web de développement, de préproduction et de production sur le même App Service.

Quand choisir Azure App Service

  • Vous souhaitez déployer une application web accessible via Internet.
  • Vous souhaitez mettre automatiquement à l’échelle votre application web en fonction de la demande sans avoir à redéployer.
  • Vous ne souhaitez pas gérer l’infrastructure du serveur (y compris les mises à jour logicielles).
  • Vous n’avez pas besoin de personnalisations au niveau de l’ordinateur sur les serveurs qui hébergent votre application web.

Si vous souhaitez utiliser Azure App Service dans votre propre centre de données ou d’autres ordinateurs locaux, vous pouvez le faire à l’aide des Azure Stack.

Pour plus d’informations sur la publication sur App Service, consultez :

Azure WebJobs

Azure WebJobs est pris en charge via App Service. Consultez Développer et déployer des tâches web à l’aide de Visual Studio.

Quand choisir Azure WebJobs

  • Vous disposez d’un processus de travail, un calcul qui peut s’exécuter sans interaction utilisateur.
  • Le travail est à la demande, déclenché par un événement ou continu.
  • Le travail s’exécute sur Windows ou .NET Core sur Linux (avec Visual Studio 17.12 ou version ultérieure).

Une autre option pour les scénarios similaires est Azure Functions. Pour choisir l’option appropriée pour vous, consultez Choisir les services d’intégration et d’automatisation appropriés dans Azure.

Azure Container Registry

Azure Container Registry vous permet de créer, stocker et gérer des images et artefacts de conteneur Docker dans un registre privé pour tous les types de déploiements de conteneurs.

Quand choisir Azure Container Registry

  • Lorsque vous disposez d’un pipeline de développement et de déploiement de conteneurs Docker existant.
  • Quand vous souhaitez créer des images conteneur Docker dans Azure.

Pour plus d’informations :

Machine virtuelle Azure

machines virtuelles Azure vous permet de créer et de gérer n’importe quel nombre de ressources informatiques dans le cloud. En supposant la responsabilité de tous les logiciels et mises à jour sur les machines virtuelles, vous pouvez les personnaliser autant que nécessaire par votre application. Vous pouvez accéder aux machines virtuelles directement via le Bureau à distance, et chacune d’elles conserve son adresse IP affectée tant que vous le souhaitez.

La mise à l’échelle d’une application hébergée sur des machines virtuelles implique l’épinglage de machines virtuelles supplémentaires en fonction de la demande, puis le déploiement du logiciel nécessaire. Ce niveau de contrôle supplémentaire vous permet d’ajuster l'échelle différemment à travers le monde. Par exemple, si votre application sert des employés dans divers bureaux régionaux, vous pouvez mettre à l’échelle vos machines virtuelles en fonction du nombre d’employés de ces régions, ce qui peut réduire les coûts.

Pour plus d’informations, consultez la comparaison détaillée entre Azure App Service, les machines virtuelles Azure et d’autres services Azure que vous pouvez utiliser comme cible de déploiement à l’aide de l’option personnalisée dans Visual Studio.

Quand choisir des machines virtuelles Azure

  • Vous souhaitez déployer une application web accessible via Internet, avec un contrôle total sur la durée de vie des adresses IP affectées.
  • Vous avez besoin de personnalisations au niveau de l’ordinateur sur vos serveurs, notamment des logiciels supplémentaires tels qu’un système de base de données spécialisé, des configurations réseau spécifiques, des partitions de disque, etc.
  • Vous souhaitez un niveau de contrôle précis sur la mise à l’échelle de votre application web.
  • Vous avez besoin d’un accès direct aux serveurs hébergeant votre application pour toute autre raison.

Si vous souhaitez utiliser des machines virtuelles Azure dans votre propre centre de données ou d’autres ordinateurs locaux, vous pouvez le faire à l’aide de la Azure Stack.

Registre de conteneurs Docker

Si votre application utilise Docker, vous pouvez publier votre application conteneurisée dans un registre de conteneurs Docker.

Quand choisir Docker Container Registry

  • Vous souhaitez déployer une application conteneurisée

Pour plus d’informations, consultez les rubriques suivantes :

DevTest Labs

Utilisez l’option de déploiement de dossiers dans l’outil Publier si vous souhaitez effectuer un déploiement sur Azure DevTest Labs.

Pour suivre les étapes complètes, consultez Publier l’application pour les tests sur une machine virtuelle Azure DevTest Labs. Dans l’article lié, les étapes de publication du dossier s’appliquent à .NET Core/.NET 5+. Les autres instructions s’appliquent à .NET et .NET Framework. Pour les applications ClickOnce .NET Framework, vous pouvez utiliser l’Assistant Publication pour publier dans un dossier.

Dossier

Le déploiement sur le système de fichiers signifie copier les fichiers de votre application vers un dossier spécifique sur votre propre ordinateur. Le déploiement sur un dossier est le plus souvent utilisé à des fins de test ou pour déployer l’application à utiliser par un nombre limité de personnes 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 peut rendre les fichiers d’application web disponibles pour d’autres utilisateurs qui peuvent ensuite le 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 Windows .NET à l’aide de ClickOnce.

Les ordinateurs locaux exécutant un serveur peuvent rendre votre application disponible via Internet ou un Intranet en fonction de la 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 contrôlez complètement les configurations logicielles et matérielles.

Si, pour une raison quelconque (par exemple, l’accès à la machine) vous ne pouvez pas utiliser des services cloud comme Azure App Service ou des machines virtuelles Azure, vous pouvez utiliser le Azure Stack dans votre propre centre de données. Azure Stack vous permet de gérer et d’utiliser des ressources informatiques par le biais d’Azure App Service et de machines virtuelles Azure tout en conservant tous les éléments locaux.

Quand choisir le déploiement du système de fichiers

  • Vous devez uniquement déployer l’application sur un partage de fichiers à partir duquel d’autres le déploieront sur différents serveurs.

  • Vous souhaitez déployer une application Windows .NET à l’aide de ClickOnce

  • Vous n’avez besoin que d’un déploiement de test local.

  • Vous souhaitez examiner et éventuellement modifier les fichiers d’application indépendamment avant de les envoyer à 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 Windows .NET à l’aide de ClickOnce, consultez Déployer une application Windows .NET à l’aide de ClickOnce.

Pour obtenir de l’aide supplémentaire pour choisir vos paramètres, consultez les rubriques suivantes :

Serveur FTP/FTPS

Un serveur FTP/FTPS vous permet de déployer votre application sur un serveur autre qu’Azure. Il peut être déployé sur un système de fichiers ou sur n’importe quel autre serveur (Internet ou Intranet) auquel vous avez accès, y compris ceux sur d’autres services cloud. Il peut fonctionner avec le déploiement web (fichiers ou .ZIP) et FTP.

Lorsque vous choisissez un serveur FTP/FTPS, Visual Studio vous invite à entrer un nom de profil, puis collecte des informations supplémentaires connexion, notamment le serveur cible ou l’emplacement, un nom de site et des informations d’identification. Vous pouvez contrôler les comportements suivants sous l’onglet Paramètres :

  • Configuration à déployer.
  • Indique s’il faut supprimer les fichiers existants de la destination.
  • Indique s’il faut précompiler pendant la publication.
  • Indique s’il faut exclure les fichiers du dossier App_Data du déploiement.

Vous pouvez créer n’importe quel nombre de profils de déploiement FTP/FTPS dans Visual Studio, ce qui vous permet de gérer des profils avec différents paramètres.

Quand choisir le déploiement du serveur FTP/FTPS

  • Vous utilisez des services cloud sur un fournisseur autre qu’Azure qui est accessible via des URL.
  • Vous souhaitez déployer à l’aide d’informations d’identification autres que celles que vous utilisez dans Visual Studio, ou celles liées directement à vos comptes Azure.
  • Vous souhaitez supprimer des fichiers de la cible chaque fois que vous déployez.

Serveur web (IIS)

Un serveur web IIS vous permet de déployer votre application sur un serveur web autre qu’Azure. Il peut être déployé sur un serveur IIS (Internet ou Intranet) auquel vous avez accès, y compris ceux sur d’autres services cloud. Il peut fonctionner avec Web Deploy ou un package Web Deploy.

Lorsque vous choisissez un serveur web IIS, Visual Studio vous invite à entrer un nom de profil, puis collecte des informations de connexion supplémentaires connexion, notamment le serveur cible ou l’emplacement, un nom de site et des informations d’identification. Vous pouvez contrôler les comportements suivants sous l’onglet Paramètres :

  • Configuration à déployer.
  • Indique s’il faut supprimer les fichiers existants de la destination.
  • Indique s’il faut précompiler pendant la publication.
  • Indique s’il faut exclure les fichiers du dossier App_Data du déploiement.

Vous pouvez créer n’importe quel nombre de profils de déploiement de serveur web IIS dans Visual Studio, ce qui vous permet de gérer des profils avec différents paramètres.

Quand choisir le déploiement de serveur web (IIS)

  • Vous utilisez IIS pour publier un site ou un service accessible via des URL.
  • Vous souhaitez déployer à l’aide d’informations d’identification autres que celles que vous utilisez dans Visual Studio, ou celles liées directement à vos comptes Azure.
  • Vous souhaitez supprimer des fichiers de la cible chaque fois que vous déployez.

Pour plus d’informations, consultez Démarrage rapide - Déploiement 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.

Importer un profil

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, ou il peut être créé manuellement, puis il peut ê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 que dans la configuration manuelle de chaque profil de déploiement.

Quand choisir un profil d’importation

  • Vous publiez sur IIS et souhaitez simplifier la configuration du déploiement.
  • Vous publiez sur IIS ou Azure App Service et souhaitez accélérer la configuration du déploiement pour la réutilisation ou pour les membres de l’équipe qui publient sur le même service.

Pour plus d’informations, consultez les rubriques suivantes :

Configurer les paramètres de déploiement .NET

Pour obtenir de l’aide supplémentaire pour choisir vos paramètres, consultez les rubriques suivantes :

Étapes suivantes

Tutoriels: