You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-deployment-technologies.md
+19-18Lines changed: 19 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,27 +12,28 @@ You can use a few different technologies to deploy your Azure Functions project
12
12
13
13
## Deployment methods
14
14
15
-
The deployment technology you use to publish code to Azure is generally determined by the way in which you publish your app. The appropriate deployment method is determined by specific needs and the point in the development cycle. For example, during development and testing you may deploy directly from your development tool, such as Visual Studio Code. When your app is in production, you are more likely to publish continuously from source control or by using an automated publishing pipeline, which includes additional validation and testing.
15
+
The deployment technology you use to publish code to your function app in Azure depends on your specific needs and the point in the development cycle. For example, during development and testing you may deploy directly from your development tool, such as Visual Studio Code. When your app is in production, you're more likely to publish continuously from source control or by using an automated publishing pipeline, which can include validation and testing.
16
16
17
-
The following table describes the available deployment methods for your Function project.
17
+
The following table describes the available deployment methods for your code project.
18
18
19
19
| Deployment type | Methods | Best for... |
20
-
| -- | -- | -- |
21
-
| Tools-based |• [Visual Studio Code publish](functions-develop-vs-code.md#publish-to-azure)<br/>• [Visual Studio publish](functions-develop-vs.md#publish-to-azure)<br/>• [Core Tools publish](functions-run-local.md#publish)| Deployments during development and other ad hoc deployments. Deployments are managed locally by the tooling. |
20
+
| ---| ---|--- |
21
+
| Tools-based |• [Visual Studio Code publish](functions-develop-vs-code.md#publish-to-azure)<br/>• [Visual Studio publish](functions-develop-vs.md#publish-to-azure)<br/>• [Core Tools publish](functions-run-local.md#publish)| Deployments during development and other improvised deployments. Deploying your code on-demand using [local development tools](functions-develop-local.md#local-development-environments). |
22
22
| App Service-managed|• [Deployment Center (CI/CD)](functions-continuous-deployment.md)<br/>• [Container deployments](./functions-how-to-custom-container.md#enable-continuous-deployment-to-azure)| Continuous deployment (CI/CD) from source control or from a container registry. Deployments are managed by the App Service platform (Kudu).|
23
-
| External pipelines|• [Azure Pipelines](functions-how-to-azure-devops.md)<br/>• [GitHub Actions](functions-how-to-github-actions.md)| Production and Azure pipelines that include additional validation, testing, and other actions be run as part of an automated deployment. Deployments are managed by the pipeline. |
23
+
| External pipelines|• [Azure Pipelines](functions-how-to-azure-devops.md)<br/>• [GitHub Actions](functions-how-to-github-actions.md)| Production pipelines that include validation, testing, and other actions that must be run as part of an automated deployment. Deployments are managed by the pipeline. |
24
24
25
-
While specific Functions deployments use the best technology based on their context, most deployment methods are based on [zip deployment](#zip-deploy).
25
+
Specific deployments should use the best technology based on the specific scenario. Many of the deployment methods are based on [zip deployment](#zip-deploy), which is recommended for deployment.
26
26
27
27
## Deployment technology availability
28
28
29
-
Azure Functions supports cross-platform local development and hosting on Windows and Linux. Currently, three hosting plans are available:
29
+
The deployment method also depends on the hosting plan and operating system on which you run your function app.
30
+
Currently, Functions offers three hosting plans:
30
31
31
32
+[Consumption](consumption-plan.md)
32
33
+[Premium](functions-premium-plan.md)
33
34
+[Dedicated (App Service)](dedicated-plan.md)
34
35
35
-
Each plan has different behaviors. Not all deployment technologies are available for each flavor of Azure Functions. The following chart shows which deployment technologies are supported for each combination of operating system and hosting plan:
36
+
Each plan has different behaviors. Not all deployment technologies are available for each hosting plan and operating system. This chart provides information on the supported deployment technologies:
36
37
37
38
| Deployment technology | Windows Consumption | Windows Premium | Windows Dedicated | Linux Consumption | Linux Premium | Linux Dedicated |
@@ -60,23 +61,23 @@ When you change any of your triggers, the Functions infrastructure must be aware
60
61
61
62
+ Restart your function app in the Azure portal.
62
63
+ Send an HTTP POST request to `https://{functionappname}.azurewebsites.net/admin/host/synctriggers?code=<API_KEY>` using the [master key](functions-bindings-http-webhook-trigger.md#authorization-keys).
63
-
+ Send an HTTP POST request to `https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.Web/sites/<FUNCTION_APP_NAME>/syncfunctiontriggers?api-version=2016-08-01`. Replace the placeholders with your subscription ID, resource group name, and the name of your function app.
64
+
+ Send an HTTP POST request to `https://management.azure.com/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.Web/sites/<FUNCTION_APP_NAME>/syncfunctiontriggers?api-version=2016-08-01`. Replace the placeholders with your subscription ID, resource group name, and the name of your function app. This request requires an [access token](/rest/api/azure/#acquire-an-access-token) in the [`Authorization` request header](/rest/api/azure/#request-header).
64
65
65
-
When you deploy using an external package URL and the contents of the package change but the URL itself doesn't change, you need to manually restart your function app to fully sync your updates.
66
+
When you deploy using an external package URL, you need to manually restart your function app to fully sync your updates when the package changes without changing the URL.
66
67
67
68
### Remote build
68
69
69
70
Azure Functions can automatically perform builds on the code it receives after zip deployments. These builds behave slightly differently depending on whether your app is running on Windows or Linux.
70
71
71
-
# [Windows](#tab/windows)
72
+
####[Windows](#tab/windows)
72
73
73
74
All function apps running on Windows have a small management app, the SCM site provided by [Kudu](https://github.com/projectkudu/kudu). This site handles much of the deployment and build logic for Azure Functions.
74
75
75
76
When an app is deployed to Windows, language-specific commands, like `dotnet restore` (C#) or `npm install` (JavaScript) are run.
76
77
77
-
# [Linux](#tab/linux)
78
+
####[Linux](#tab/linux)
78
79
79
-
To enable remote build on Linux, you must set the following in your application settings:
80
+
To enable remote build on Linux, you must set these application settings:
@@ -96,7 +97,7 @@ The following considerations apply when using remote builds during deployment:
96
97
97
98
### App content storage
98
99
99
-
Several deployment methods store the deployed or built application payload on the storage account associated with the function app. The Azure Files content share is generally used if configured, but some methods will instead store the payload in the blob store associated with the `AzureWebJobsStorage` connection. See the details in the "Where app content is stored" paragraphs of each deployment technology covered in the next section.
100
+
Several deployment methods store the deployed or built application payload on the storage account associated with the function app. Functions tries to use the Azure Files content share when configured, but some methods instead store the payload in the blob storage instance associated with the `AzureWebJobsStorage` connection. See the details in the _Where app content is stored_ paragraphs of each deployment technology covered in the next section.
@@ -188,9 +189,9 @@ Use cloud sync to sync your content from Dropbox and OneDrive to Azure Functions
188
189
189
190
### FTPS
190
191
191
-
You can use FTPS to directly transfer files to Azure Functions, athough this deployment method isn't recommended.
192
+
You can use FTPS to directly transfer files to Azure Functions, although this deployment method isn't recommended. Because using FTP, which is unencrypted, can expose your deployment credentials, you should only use FTPS.
192
193
193
-
>__How to use it:__ Follow the instructions in [Deploy content by using FTP/s](../app-service/deploy-ftp.md?tabs=cli). Note that FTP/S deployment isn't available in the Azure portal, but you can use [Azure CLI](../app-service/deploy-ftp.md?tabs=cli) or [Azure PowerShell](../app-service/deploy-ftp.md&tabs=powershell).
194
+
>__How to use it:__ Follow the instructions in [FTPS deployment settings](functions-how-to-use-azure-function-app-settings.md#ftps-deployment-settings) to get the URL and credentials you can use to deploy to your function app using FTPS.
194
195
195
196
>__When to use it:__ To reduce the chance of errors, you should avoid using deployment methods that require the additional step of [manually syncing triggers](#trigger-syncing). Use [zip deployment](run-functions-from-deployment-package.md) when possible.
196
197
@@ -228,7 +229,7 @@ The following table shows the operating systems and languages that support in-po
228
229
229
230
## Deployment behaviors
230
231
231
-
When you deploy updates to your function app code, currently executing functions are terminated. After deployment completes, the new code is loaded to begin processing requests. Please review[Improve the performance and reliability of Azure Functions](performance-reliability.md#write-functions-to-be-stateless) to learn how to write stateless and defensive functions.
232
+
When you deploy updates to your function app code, currently executing functions are terminated. After deployment completes, the new code is loaded to begin processing requests. Review[Improve the performance and reliability of Azure Functions](performance-reliability.md#write-functions-to-be-stateless) to learn how to write stateless and defensive functions.
232
233
233
234
If you need more control over this transition, you should use deployment slots.
234
235
@@ -241,7 +242,7 @@ When you deploy your function app to Azure, you can deploy to a separate deploym
241
242
Read these articles to learn more about deploying your function apps:
242
243
243
244
+[Continuous deployment for Azure Functions](functions-continuous-deployment.md)
244
-
+[Continuous delivery by using Azure DevOps](functions-how-to-azure-devops.md)
245
+
+[Continuous delivery by using Azure Pipelines](functions-how-to-azure-devops.md)
245
246
+[Zip deployments for Azure Functions](deployment-zip-push.md)
246
247
+[Run your Azure Functions from a package file](run-functions-from-deployment-package.md)
247
248
+[Automate resource deployment for your function app in Azure Functions](functions-infrastructure-as-code.md)
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-how-to-use-azure-function-app-settings.md
+11-1Lines changed: 11 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,7 +86,7 @@ When you develop a function app locally, you must maintain local copies of these
86
86
87
87
## FTPS deployment settings
88
88
89
-
Azure Functions supports deploying code to your function app by using FTPS. Because this deployment method requires you to [sync triggers](functions-deployment-technologies.md#trigger-syncing), it's not recommended. T securely transfer project files, always use FTPS and not FTP.
89
+
Azure Functions supports deploying project code to your function app by using FTPS. Because this deployment method requires you to [sync triggers](functions-deployment-technologies.md#trigger-syncing), it's not recommended. To securely transfer project files, always use FTPS and not FTP.
90
90
91
91
You can get the credentials required for FTPS deployment using one of these methods:
92
92
@@ -113,6 +113,16 @@ In this example, replace `<APP_NAME>` with your function app name and `<GROUP_NA
113
113
114
114
### [Azure PowerShell](#tab/azure-powershell)
115
115
116
+
Run this Azure PowerShell command that returns the FTPS credentials from the publishing profile.
In this example, replace `<APP_NAME>` with your function app name and `<GROUP_NAME>` with the resource group. The returned `URL`, `username`, and `password` columns contain the target URL and credentials for FTPS publishing.
0 commit comments