Skip to content

Commit dc2993f

Browse files
Merge pull request #271717 from ggailey777/patch-2
[Functions] add sections to CI/CD docs
2 parents f9520e6 + 2696e3d commit dc2993f

File tree

1 file changed

+39
-2
lines changed

1 file changed

+39
-2
lines changed

articles/azure-functions/functions-continuous-deployment.md

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Continuous deployment for Azure Functions
33
description: Use the continuous deployment features of Azure App Service when publishing to Azure Functions.
44
ms.assetid: 361daf37-598c-4703-8d78-c77dbef91643
55
ms.topic: conceptual
6-
ms.date: 04/01/2024
6+
ms.date: 04/10/2024
77
#Customer intent: As a developer, I want to learn how to set up a continuous integration environment so that function app updates are deployed automatically when I check in my code changes.
88
---
99

@@ -64,7 +64,9 @@ GitHub Actions is the default build provider for GitHub projects. GitHub Actions
6464

6565
### [App Service (Kudu) service](#tab/app-service)
6666

67-
The App Service platform maintains a native deployment service ([Project Kudu](https://github.com/projectkudu/kudu/wiki)) to support local Git deployment, some container deployments, and other deployment sources not supported by either Pipelines or GitHub Actions. Remote builds, packaging, and other maintainence tasks are performed in a subdomain of `scm.azurewebsites.net` dedicated to your app, such as `https://myfunctionapp.scm.azurewebsites.net`. This build service can only be used when the `scm` site is accessible to your app. For more information, see [Secure the scm endpoint](security-concepts.md#secure-the-scm-endpoint).
67+
The App Service platform maintains a native deployment service ([Project Kudu](https://github.com/projectkudu/kudu/wiki)) to support local Git deployment, some container deployments, and other deployment sources not supported by either Pipelines or GitHub Actions. Remote builds, packaging, and other maintainence tasks are performed in a subdomain of `scm.azurewebsites.net` dedicated to your app, such as `https://myfunctionapp.scm.azurewebsites.net`. This build service can only be used when the `scm` site can be accessed by your deployment. Many publishing tools require basic authentication to connect to the `scm` endpoint. For more information, see [Enable basic authentication for deployments](#enable-basic-authentication-for-deployments).
68+
69+
This build provider is used when you deploy your code project by using Visual Studio, Visual Studio Code, or Azure Functions Core Tools. If you haven't already deployed by using one of these tools, you might need to Enable basic authentication on the SCM endpoint.
6870

6971
---
7072

@@ -180,6 +182,41 @@ You should keep these considerations in mind when planning for a continuous depl
180182

181183
+ The Deployment Center doesn't support enabling continuous deployment for a function app with inbound network restrictions. You need instead configure the build provider workflow directly in GitHub or Azure Pipelines. These workflows also require you to use a virtual machine in the same virtual network as the function app as either a [self-hosted agent (Pipelines)](/azure/devops/pipelines/agents/agents#self-hosted-agents) or a [self-hosted runner (GitHub)](https://docs.github.com/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).
182184

185+
## Continuous deployment during app creation
186+
187+
Currently, you can configure continuous deployment from GitHub using GitHub Actions when you create your function app in the Azure portal. You can do this on the **Deployment** tab in the **Create Function App** page.
188+
189+
If you want to use a different deployment source or build provider for continuous integration, first create your function app and then return to the portal and [set up continuous integration in the Deployment Center](#credentials).
190+
191+
## Enable basic authentication for deployments
192+
193+
By default, your function app is created with basic authentication access to the `scm` endpoint disabled. This blocks publishing by all methods that can't use managed identities to access the `scm` endpoint. The publishing impacts of having the `scm` endpoint disabled are detailed in [Deployment without basic authentication](../app-service/configure-basic-auth-disable.md#deployment-without-basic-authentication).
194+
195+
> [!IMPORTANT]
196+
> When you use basic authenication, credentials are sent in clear text. To protect these credentials, you must only access the `scm` endpoint over an encrypted connection ( HTTPS) when using basic authentication. For more information, see [Secure deployment](security-concepts.md#secure-deployment).
197+
198+
To enable basic authentication to the `scm` endpoint:
199+
200+
### [Azure portal](#tab/azure-portal)
201+
202+
1. In the [Azure portal](https://portal.azure.com), navigate to your function app.
203+
204+
1. In the app's left menu, select **Configuration** > **General settings**.
205+
206+
1. Set **SCM Basic Auth Publishing Credentials** to **On**, then select **Save**.
207+
208+
### [Azure CLI](#tab/azure-cli)
209+
210+
You can use the Azure CLI to turn on basic authentication by using this [`az resource update`](/cli/azure/resource#az-resource-update) command to update the resource that controls the `scm` endpoint.
211+
212+
```azure-cli
213+
az resource update --resource-group <RESOURCE_GROUP> --name scm --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<APP_NAME> --set properties.allow=true
214+
```
215+
216+
In this command, replace the placeholders with your resource group name and app name.
217+
218+
---
219+
183220
## Next steps
184221

185222
> [!div class="nextstepaction"]

0 commit comments

Comments
 (0)