Deploy your app to Azure App Service using FTP/S
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.
The FTP/S endpoint for your app is already active. No configuration is necessary to enable FTP/S deployment.
We are continuously taking steps to improve Microsoft Azure Platform security. As part of this ongoing effort an upgrade of Web Applications is planned for Germany Central and Germany Northeast regions. During this Web Apps will be disabling the use of plain text FTP protocol for deployments. Our recommendation to our customers is to switch to FTPS for deployments. We do not expect any disruption to your service during this upgrade which is planned for 9/5. We appreciate you support in this effort.
Step 1: Set deployment credentials
To access the FTP server for your app, you first need deployment credentials.
To set or reset your deployment credentials, see Azure App Service Deployment Credentials. This tutorial demonstrates the use of user-level credentials.
Step 2: Get FTP connection information
- In the Azure portal, open your app's resource blade.
Select Overview in the left menu, then note the values for FTP/Deployment User, FTP Host Name, and FTPS Host Name.
The FTP/Deployment User user value as displayed by the Azure Portal including the app name in order to provide proper context for the FTP server. You can find the same information when you select Properties in the left menu.
Also, the deployment password is never shown. If you forget your deployment password, go back to step 1 and reset your deployment password.
Step 3: Deploy files to Azure
- From your FTP client (Visual Studio, FileZilla, etc), use the connection information you gathered to connect to your app.
- 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).
- Browse to your app's URL to verify the app is running properly.
Unlike Git-based deployments, FTP deployment doesn't support the following deployment automations:
- dependency restore (such as NuGet, NPM, PIP, and Composer automations)
- compilation of .NET binaries
- generation of web.config (here is a Node.js example)
You must restore, build, and generate these necessary files manually on your local machine and deploy them together with your app.
For more advanced deployment scenarios, try deploying to Azure with Git. Git-based deployment to Azure enables version control, package restore, MSBuild, and more.