Déployer votre application dans Azure App Service avec FTP/SDeploy your app to Azure App Service using FTP/S

Cet article vous explique comment utiliser FTP ou FTPS pour déployer votre application web, votre backend d’applications mobiles ou votre application API dans Azure App Service.This article shows you how to use FTP or FTPS to deploy your web app, mobile app backend, or API app to Azure App Service.

Le point de terminaison FTP/S de votre application est déjà actif.The FTP/S endpoint for your app is already active. Aucune configuration n’est nécessaire pour activer le déploiement FTP/S.No configuration is necessary to enable FTP/S deployment.

Ouvrir le tableau de bord FTPOpen FTP dashboard

Dans le portail Azure, accédez à la page de ressources de votre application.In the Azure portal, open your app's resource page.

Pour ouvrir le tableau de bord FTP, cliquez sur Centre de déploiement > FTP > Tableau de bord.To open the FTP dashboard, click Deployment Center > FTP > Dashboard.

Ouvrir le tableau de bord FTP

Obtention des informations de connexion FTPGet FTP connection information

Dans le tableau de bord FTP, cliquez sur Copier pour copier le point de terminaison FTPS et les informations d’identification de l’application.In the FTP dashboard, click Copy to copy the FTPS endpoint and app credentials.

Copier les informations FTP

Il est recommandé d’utiliser les informations d’identification de l’application pour le déploiement sur votre application, car elles sont propres à chaque application.It's recommended that you use App Credentials to deploy to your app because it's unique to each app. Toutefois, si vous cliquez sur Informations d’identification de l’utilisateur, vous pouvez définir des informations d’identification au niveau de l’utilisateur, que vous pouvez utiliser pour la connexion FTP/S à toutes les applications App Service de votre abonnement.However, if you click User Credentials, you can set user-level credentials that you can use for FTP/S login to all App Service apps in your subscription.

Notes

L’authentification auprès d’un point de terminaison FTP/FTPS à l’aide d’informations d’identification de niveau utilisateur nécessite un nom d’utilisateur au format suivant :Authenticating to an FTP/FTPS endpoint using user-level credentials requirers a username in the following format:

<app-name>\<user-name>

Dans la mesure où les informations d’identification au niveau utilisateur sont liées à l’utilisateur et non à une ressource spécifique, le nom d’utilisateur doit respecter ce format pour que l’action de connexion soit dirigée vers le point de terminaison d’application approprié.Since user-level credentials are linked to the user and not a specific resource, the username must be in this format to direct the sign-in action to the right app endpoint.

Déployer des fichiers sur AzureDeploy files to Azure

  1. Dans votre client FTP (par exemple, Visual Studio, Cyberduck ou WinSCP), utilisez les informations de connexion que vous avez recueillies pour vous connecter à votre application.From your FTP client (for example, Visual Studio, Cyberduck, or WinSCP), use the connection information you gathered to connect to your app.
  2. Copiez vos fichiers et la structure de répertoire qui leur correspond dans le répertoire /site/wwwroot dans Azure (ou dans le répertoire /site/wwwroot/App_Data/Jobs/ pour WebJobs).Copy your files and their respective directory structure to the /site/wwwroot directory in Azure (or the /site/wwwroot/App_Data/Jobs/ directory for WebJobs).
  3. Accédez à l’URL de votre application pour vérifier que l’application s’exécute correctement.Browse to your app's URL to verify the app is running properly.

Notes

Contrairement aux déploiements Git, un déploiement FTP ne prend pas en charge les automatisations de déploiement suivantes :Unlike Git-based deployments, FTP deployment doesn't support the following deployment automations:

  • restauration de dépendances (par exemple, des automatisations NuGet, NPM, PIP et Composer)dependency restores (such as NuGet, NPM, PIP, and Composer automations)
  • compilation de fichiers binaires .NETcompilation of .NET binaries
  • génération du fichier web.config (dont voici un exemple Node.js)generation of web.config (here is a Node.js example)

Générez ces fichiers requis manuellement sur votre ordinateur local, puis déployez-les avec votre application.Generate these necessary files manually on your local machine, and then deploy them together with your app.

Appliquer le protocole FTPSEnforce FTPS

Pour une sécurité améliorée, vous devez autoriser FTP sur SSL uniquement.For enhanced security, you should allow FTP over SSL only. Vous pouvez également désactiver FTP et FTPS si vous n’utilisez pas de déploiement FTP.You can also disable both FTP and FTPS if you don't use FTP deployment.

Dans la page des ressources de votre application dans le portail Azure, sélectionnez Paramètres de l’application dans la navigation de gauche.In your app's resource page in Azure portal, select App settings in the left navigation.

Pour désactiver le protocole FTP non chiffré, sélectionnez FTPS Only (FTPS uniquement).To disable unencrypted FTP, select FTPS Only. Pour désactiver complètement les protocoles FTP et FTPS, sélectionnez Désactiver.To disable both FTP and FTPS entirely, select Disable. Lorsque vous avez terminé, cliquez sur Enregistrer.When finished, click Save. Si vous utilisez FTPS uniquement, appliquez TLS 1.2 ou une version ultérieure en accédant au panneau Paramètres SSL de votre application web.If using FTPS Only you must enforce TLS 1.2 or higher by navigating to the SSL settings blade of your web app. TLS 1.0 et 1.1 ne sont pas pris en charge avec FTPS uniquement.TLS 1.0 and 1.1 are not supported with FTPS Only.

Désactiver le protocole FTP/S

Automatiser des tâches à l’aide de scriptsAutomate with scripts

Pour le déploiement FTP à l’aide d’Azure CLI, consultez Créer une application web et déployer des fichiers par FTP (Azure CLI).For FTP deployment using Azure CLI, see Create a web app and deploy files with FTP (Azure CLI).

Pour le déploiement FTP à l’aide d’Azure PowerShell, consultez Télécharger des fichiers vers une application web via FTP (PowerShell).For FTP deployment using Azure PowerShell, see Upload files to a web app using FTP (PowerShell).

Que se passe-t-il au niveau de mon application pendant le déploiement ?What happens to my app during deployment?

Toutes les méthodes de déploiement officiellement prises en charge apportent des modifications aux fichiers dans le dossier /home/site/wwwroot de votre application.All the officially supported deployment methods make changes to the files in the /home/site/wwwroot folder of your app. Ce sont ces mêmes fichiers qui sont exécutés en production.These files are the same ones that are run in production. Par conséquent, le déploiement peut échouer si des fichiers sont verrouillés.Therefore, the deployment can fail because of locked files. L’application en production peut également se comporter de façon imprévisible pendant le déploiement, car tous les fichiers ne sont pas tous mis à jour en même temps.The app in production may also behave unpredictably during deployment, because not all the files updated at the same time. Il existe différentes manières d’éviter ces problèmes :There are a few different ways to avoid these issues:

Résoudre les problèmes d’un déploiement FTPTroubleshoot FTP deployment

Comment puis-je résoudre les problèmes d’un déploiement FTP ?How can I troubleshoot FTP deployment?

La première étape de résolution des problèmes d’un déploiement FTP consiste à isoler un problème de déploiement d’un problème d’application à l’exécution.The first step for troubleshooting FTP deployment is isolating a deployment issue from a runtime application issue.

Un problème de déploiement se produit généralement si aucun fichier ou des fichiers incorrects sont déployés sur votre application.A deployment issue typically results in no files or wrong files deployed to your app. Vous pouvez le résoudre en examinant votre déploiement FTP ou en sélectionnant un autre chemin d’accès de déploiement (comme un contrôle de code source).You can troubleshoot by investigating your FTP deployment or selecting an alternate deployment path (such as source control).

Un problème d’application à l’exécution se produit généralement si l’ensemble de fichiers approprié est déployé sur votre application, mais que le comportement de l’application est incorrect.A runtime application issue typically results in the right set of files deployed to your app but incorrect app behavior. Vous pouvez le résoudre en vous concentrant sur le comportement du code lors de l’exécution et en examinant des chemins d’accès d’échec spécifiques.You can troubleshoot by focusing on code behavior at runtime and investigating specific failure paths.

Pour déterminer un problème de déploiement ou d’exécution, consultez Deployment vs. runtime issues (Problèmes de déploiement et d’exécution).To determine a deployment or runtime issue, see Deployment vs. runtime issues.

Je ne peux pas envoyer par FTP et publier mon code.I'm not able to FTP and publish my code. Comment puis-je résoudre le problème ?How can I resolve the issue?

Vérifiez que vous avez entré le nom d’hôte et les informations d’identification corrects.Check that you've entered the correct hostname and credentials. Vérifiez également que les ports FTP suivants sur votre machine ne sont pas bloqués par un pare-feu :Check also that the following FTP ports on your machine are not blocked by a firewall:

  • Port de connexion de contrôle FTP : 21FTP control connection port: 21
  • Port de connexion de données FTP : 989, 10001-10300FTP data connection port: 989, 10001-10300

Comment puis-je me connecter à FTP dans Azure App Service via le mode passif ?How can I connect to FTP in Azure App Service via passive mode?

Azure App Service prend en charge la connexion via les modes actif et passif.Azure App Service supports connecting via both Active and Passive mode. Le mode passif est recommandé, car vos machines de déploiement se trouvent généralement derrière un pare-feu (dans le système d’exploitation ou faisant partie d’un réseau domestique ou d’entreprise).Passive mode is preferred because your deployment machines are usually behind a firewall (in the operating system or as part of a home or business network). Consultez un exemple dans la documentation de WinSCP.See an example from the WinSCP documentation.

Étapes suivantesNext steps

Pour des scénarios de déploiement plus avancés, consultez Déploiement Git local vers Azure App Service.For more advanced deployment scenarios, try deploying to Azure with Git. Le déploiement GIT vers Azure autorise le contrôle de version, la restauration du package, MSBuild et bien plus encore.Git-based deployment to Azure enables version control, package restore, MSBuild, and more.

Autres ressourcesMore resources