Skip to content

Commit 385718f

Browse files
Freshness.
1 parent ca4fdc9 commit 385718f

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

articles/azure-functions/deployment-zip-push.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@ description: Use the .zip file deployment facilities of the Kudu deployment serv
44

55
ms.topic: conceptual
66
ms.custom: devx-track-azurecli, devx-track-arm-template
7-
ms.date: 08/12/2018
7+
ms.date: 05/06/2025
88
---
99

1010
# Zip deployment for Azure Functions
1111

12-
This article describes how to deploy your function app project files to Azure from a .zip (compressed) file. You learn how to do a push deployment, both by using Azure CLI and by using the REST APIs. [Azure Functions Core Tools](functions-run-local.md) also uses these deployment APIs when publishing a local project to Azure.
12+
This article describes how to deploy your function app project files to Azure from a .zip (compressed) file. You learn how to do a push deployment, both by using Azure CLI and by using the REST APIs. [Azure Functions Core Tools](functions-run-local.md) also uses these deployment APIs when publishing a local project to Azure.
1313

14-
Zip deployment is also an easy way to [run your functions from a package file in Azure](run-functions-from-deployment-package.md). It is the default deployment technology in the [Consumption](./consumption-plan.md), [Elastic Premium](./functions-premium-plan.md), and [Dedicated (App Service)](./dedicated-plan.md) hosting plans. The [Flex Consumption](./flex-consumption-plan.md) plan does not support zip deployment.
14+
Zip deployment is also an easy way to [run your functions from a package file in Azure](run-functions-from-deployment-package.md). It's the default deployment technology in the [Consumption](./consumption-plan.md), [Elastic Premium](./functions-premium-plan.md), and [Dedicated (App Service)](./dedicated-plan.md) hosting plans. The [Flex Consumption](./flex-consumption-plan.md) plan doesn't support zip deployment.
1515

1616
Azure Functions has the full range of continuous deployment and integration options that are provided by Azure App Service. For more information, see [Continuous deployment for Azure Functions](functions-continuous-deployment.md).
1717

1818
To speed up development, you might find it easier to deploy your function app project files directly from a .zip file. The .zip deployment API takes the contents of a .zip file and extracts the contents into the `wwwroot` folder of your function app. This .zip file deployment uses the same Kudu service that powers continuous integration-based deployments, including:
1919

20-
+ Deletion of files that were left over from earlier deployments.
21-
+ Deployment customization, including running deployment scripts.
22-
+ Deployment logs.
23-
+ Syncing function triggers in a [Consumption plan](functions-scale.md) function app.
20+
- Deletion of files that were left over from earlier deployments.
21+
- Deployment customization, including running deployment scripts.
22+
- Deployment logs.
23+
- Syncing function triggers in a [Consumption plan](functions-scale.md) function app.
2424

2525
For more information, see the [.zip deployment reference](https://github.com/projectkudu/kudu/wiki/Deploying-from-a-zip-file).
2626

@@ -31,11 +31,11 @@ For more information, see the [.zip deployment reference](https://github.com/pro
3131

3232
[!INCLUDE [functions-deployment-zip-structure](../../includes/functions-deployment-zip-structure.md)]
3333

34-
A zip deployment process extracts the zip archive's files and folders in the `wwwroot` directory. If you include the parent directory when creating the archive, the system will not find the files it expects to see in `wwwroot`.
34+
A zip deployment process extracts the zip archive's files and folders in the `wwwroot` directory. If you include the parent directory when creating the archive, the system won't find the files it expects to see in `wwwroot`.
3535

3636
## <a name="cli"></a>Deploy by using Azure CLI
3737

38-
You can use Azure CLI to trigger a push deployment. Push deploy a .zip file to your function app by using the [az functionapp deployment source config-zip](/cli/azure/functionapp/deployment/source#az-functionapp-deployment-source-config-zip) command. To use this command, you must use Azure CLI version 2.0.21 or later. To see what Azure CLI version you are using, use the `az --version` command.
38+
You can use Azure CLI to trigger a push deployment. Push deploy a .zip file to your function app by using the [az functionapp deployment source config-zip](/cli/azure/functionapp/deployment/source#az-functionapp-deployment-source-config-zip) command. To use this command, you must use Azure CLI version 2.0.21 or later. To see what Azure CLI version you're using, use the `az --version` command.
3939

4040
In the following command, replace the `<zip_file_path>` placeholder with the path to the location of your .zip file. Also, replace `<app_name>` with the unique name of your function app and replace `<resource_group>` with the name of your resource group.
4141

@@ -107,7 +107,7 @@ For the initial deployment, you would deploy directly to the production slot. Fo
107107

108108
## Run functions from the deployment package
109109

110-
You can also choose to run your functions directly from the deployment package file. This method skips the deployment step of copying files from the package to the `wwwroot` directory of your function app. Instead, the package file is mounted by the Functions runtime, and the contents of the `wwwroot` directory become read-only.
110+
You can also choose to run your functions directly from the deployment package file. This method skips the deployment step of copying files from the package to the `wwwroot` directory of your function app. Instead, the Functions runtime mounts the package file, and the contents of the `wwwroot` directory become read-only.
111111

112112
Zip deployment integrates with this feature, which you can enable by setting the function app setting `WEBSITE_RUN_FROM_PACKAGE` to a value of `1`. For more information, see [Run your functions from a deployment package file](run-functions-from-deployment-package.md).
113113

@@ -117,25 +117,25 @@ Zip deployment integrates with this feature, which you can enable by setting the
117117

118118
If you created your functions by using the editor in the Azure portal, you can download your existing function app project as a .zip file in one of these ways:
119119

120-
+ **From the Azure portal:**
120+
- **From the Azure portal:**
121121

122122
1. Sign in to the [Azure portal](https://portal.azure.com), and then go to your function app.
123123

124124
2. On the **Overview** tab, select **Download app content**. Select your download options, and then select **Download**.
125125

126-
![Download the function app project](./media/deployment-zip-push/download-project.png)
126+
:::image type="content" source="./media/deployment-zip-push/download-project.png" alt-text="Screenshot shows the Azure portal page to download the function app project.":::
127127

128128
The downloaded .zip file is in the correct format to be republished to your function app by using .zip push deployment. The portal download can also add the files needed to open your function app directly in Visual Studio.
129129

130-
+ **Using REST APIs:**
130+
- **Using REST APIs:**
131131

132132
Use the following deployment GET API to download the files from your `<function_app>` project:
133133

134134
```http
135135
https://<function_app>.scm.azurewebsites.net/api/zip/site/wwwroot/
136136
```
137137
138-
Including `/site/wwwroot/` makes sure your zip file includes only the function app project files and not the entire site. If you are not already signed in to Azure, you will be asked to do so.
138+
Including `/site/wwwroot/` makes sure your zip file includes only the function app project files and not the entire site. If you aren't already signed in to Azure, you are asked to do so.
139139
140140
You can also download a .zip file from a GitHub repository. When you download a GitHub repository as a .zip file, GitHub adds an extra folder level for the branch. This extra folder level means that you can't deploy the .zip file directly as you downloaded it from GitHub. If you're using a GitHub repository to maintain your function app, you should use [continuous integration](functions-continuous-deployment.md) to deploy your app.
141141
-7.11 KB
Loading

includes/app-service-deploy-zip-push-rest.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ curl -u <deployment_user> https://<app_name>.scm.azurewebsites.net/api/deploymen
2727

2828
#### Asynchronous zip deployment
2929

30-
While deploying synchronously you may receive errors related to connection timeouts. Add `?isAsync=true` to the URL to deploy asynchronously. You will receive a response as soon as the zip file is uploaded with a `Location` header pointing to the pollable deployment status URL. When polling the URL provided in the `Location` header, you will receive a HTTP 202 (Accepted) response while the process is ongoing and a HTTP 200 (OK) response once the archive has been expanded and the deployment has completed successfully.
30+
While deploying synchronously, you might receive errors related to connection timeouts. Add `?isAsync=true` to the URL to deploy asynchronously. You receive a response as soon as the zip file is uploaded with a `Location` header pointing to the pollable deployment status URL. When polling the URL provided in the `Location` header, you receive an HTTP 202 (Accepted) response while the process is ongoing and an HTTP 200 (OK) response once the archive has been expanded and the deployment completes successfully.
3131

3232
<a name='azure-ad-authentication'></a>
3333

3434
#### Microsoft Entra authentication
3535

36-
An alternative to using HTTP BASIC authentication for the zip deployment is to use a Microsoft Entra identity. Microsoft Entra identity may be needed if [HTTP BASIC authentication is disabled for the SCM site](../articles/app-service/deploy-configure-credentials.md#disable-basic-authentication).
36+
An alternative to using HTTP BASIC authentication for the zip deployment is to use a Microsoft Entra identity. Microsoft Entra identity might be needed if [HTTP BASIC authentication is disabled for the SCM site](../articles/app-service/deploy-configure-credentials.md#disable-basic-authentication).
3737

38-
A valid Microsoft Entra access token for the user or service principal performing the deployment will be required. An access token can be retrieved using the Azure CLI's `az account get-access-token` command. The access token will be used in the Authentication header of the HTTP POST request.
38+
A valid Microsoft Entra access token for the user or service principal performing the deployment is required. An access token can be retrieved using the Azure CLI's `az account get-access-token` command. The access token is used in the Authentication header of the HTTP POST request.
3939

4040
```bash
4141
curl -X POST \

includes/functions-deployment-zip-structure.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ ms.date: 07/16/2024
66
ms.author: glenga
77
---
88

9-
The zip archive you deploy must contain all of the files needed to run your function app. You can manually create a zip archive from the contents of a Functions project folder using built-in .zip compression functionality or third-party tools.
9+
The zip archive you deploy must contain all of the files needed to run your function app. You can manually create a zip archive from the contents of a Functions project folder using built-in .zip compression functionality or non-Microsoft tools.
1010

11-
The archive must include the [host.json](../articles/azure-functions/functions-host-json.md) file at the root of the extracted folder. The selected language stack for the function app creates additional requirements:
11+
The archive must include the [host.json](../articles/azure-functions/functions-host-json.md) file at the root of the extracted folder. The selected language stack for the function app creates other requirements:
1212

1313
* [.NET (isolated worker model)](../articles/azure-functions/dotnet-isolated-process-guide.md#deployment-payload)
1414
* [.NET (in-process model)](../articles/azure-functions/functions-dotnet-class-library.md#functions-class-library-project)

0 commit comments

Comments
 (0)