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
> If you receive an error when creating your app saying that your Azure account doesn't have certain permissions, it may not have [the required permissions to create and configure the user-assigned identity](deploy-continuous-deployment.md#why-do-i-see-the-error-you-do-not-have-sufficient-permissions-on-this-app-to-assign-role-based-access-to-a-managed-identity-and-configure-federated-credentials). For an alternative, see [Set up GitHub Actions deployment from the Deployment Center](#set-up-github-actions-deployment-from-the-deployment-center).
35
+
> If you receive an error when creating your app saying that your Azure account doesn't have certain permissions, it might not have [the required permissions to create and configure the user-assigned identity](deploy-continuous-deployment.md#why-do-i-see-the-error-you-do-not-have-sufficient-permissions-on-this-app-to-assign-role-based-access-to-a-managed-identity-and-configure-federated-credentials). For an alternative, see [Set up GitHub Actions deployment from the Deployment Center](#set-up-github-actions-deployment-from-the-deployment-center).
36
36
37
37
## Set up GitHub Actions deployment from the Deployment Center
38
38
@@ -46,21 +46,21 @@ For more information, see [Continuous deployment to Azure App Service](deploy-co
46
46
47
47
## Set up a GitHub Actions workflow manually
48
48
49
-
You can also deploy a workflow without using the Deployment Center. In that case you need to perform 3 steps:
49
+
You can also deploy a workflow without using the Deployment Center. In that case you need to perform three steps:
1.[Configure the GitHub secret](#2-configure-the-github-secret)
53
53
1.[Add the workflow file to your GitHub repository](#3-add-the-workflow-file-to-your-github-repository)
54
54
55
55
### 1. Generate deployment credentials
56
56
57
-
The recommended way to authenticate with Azure App Services for GitHub Actions is with OpenID Connect. This is an authentication method that uses short-lived tokens. Setting up [OpenID Connect with GitHub Actions](/azure/developer/github/connect-from-azure) is more complex but offers hardened security.
57
+
The recommended way to authenticate with Azure App Services for GitHub Actions is with OpenID Connect. This approach is an authentication method that uses short-lived tokens. Setting up [OpenID Connect with GitHub Actions](/azure/developer/github/connect-from-azure) is more complex but offers hardened security.
58
58
59
59
Alternatively, you can authenticate with a User-assigned Managed Identity, a service principal, or a publish profile.
60
60
61
61
# [OpenID Connect](#tab/openid)
62
62
63
-
The below runs you through the steps for creating an active directory application, service principal, and federated credentials using Azure CLI statements. To learn how to create an active directory application, service principal, and federated credentials in Azure portal, see [Connect GitHub and Azure](/azure/developer/github/connect-from-azure#use-the-azure-login-action-with-openid-connect).
63
+
The following procedure describes the steps for creating an active directory application, service principal, and federated credentials using Azure CLI statements. To learn how to create an active directory application, service principal, and federated credentials in Azure portal, see [Connect GitHub and Azure](/azure/developer/github/connect-from-azure#use-the-azure-login-action-with-openid-connect).
64
64
65
65
1. If you don't have an existing application, register a [new Active Directory application and service principal that can access resources](../active-directory/develop/howto-create-service-principal-portal.md). Create the Active Directory application.
66
66
@@ -70,7 +70,7 @@ The below runs you through the steps for creating an active directory applicatio
70
70
71
71
This command outputs a JSON with an `appId` that is your `client-id`. Save the value to use as the `AZURE_CLIENT_ID` GitHub secret later.
72
72
73
-
You'll use the `objectId` value when creating federated credentials with Graph API and reference it as the `APPLICATION-OBJECT-ID`.
73
+
You use the `objectId` value when creating federated credentials with Graph API and reference it as the `APPLICATION-OBJECT-ID`.
74
74
75
75
1. Create a service principal. Replace the `$appID` with the appId from your JSON output.
76
76
@@ -92,9 +92,9 @@ The below runs you through the steps for creating an active directory applicatio
92
92
93
93
* Replace `APPLICATION-OBJECT-ID` with the **appId (generated while creating app)** for your Active Directory application.
94
94
* Set a value for `CREDENTIAL-NAME` to reference later.
95
-
* Set the `subject`. Its value is defined by GitHub depending on your workflow:
95
+
* Set the `subject`. GitHub defines its value depending on your workflow:
96
96
* Jobs in your GitHub Actions environment: `repo:< Organization/Repository >:environment:< Name >`
97
-
* For Jobs not tied to an environment, include the ref path for branch/tag based on the ref path used for triggering the workflow: `repo:< Organization/Repository >:ref:< ref path>`. For example, `repo:n-username/ node_express:ref:refs/heads/my-branch` or `repo:n-username/ node_express:ref:refs/tags/my-tag`.
97
+
* For Jobs not tied to an environment, include the ref path for branch/tag based on the ref path used for triggering the workflow: `repo:< Organization/Repository >:ref:< ref path>`. For example, `repo:n-username/ node_express:ref:refs/heads/my-branch` or `repo:n-username/ node_express:ref:refs/tags/my-tag`.
98
98
* For workflows triggered by a pull request event: `repo:< Organization/Repository >:pull_request`.
99
99
100
100
```azurecli
@@ -120,12 +120,12 @@ A publish profile is an app-level credential. Set up your publish profile as a G
120
120
121
121
1. Go to your app service in the Azure portal.
122
122
123
-
1. On the **Overview** page, select **Get Publish profile**.
123
+
1. On the **Overview** page, select **Download publish profile**.
124
124
125
-
1. Save the downloaded file. You'll use the contents of the file to create a GitHub secret.
125
+
1. Save the downloaded file. Use the contents of the file to create a GitHub secret.
126
126
127
127
> [!NOTE]
128
-
> As of October 2020, Linux web apps needs the app setting `WEBSITE_WEBDEPLOY_USE_SCM` set to `true` **before downloading the publish profile**. This requirement will be removed in the future.
128
+
> As of October 2020, Linux web apps need the app setting `WEBSITE_WEBDEPLOY_USE_SCM` set to `true` **before downloading the publish profile**. This requirement will be removed in the future.
129
129
130
130
# [Service principal](#tab/userlevel)
131
131
@@ -150,7 +150,7 @@ In the previous example, replace the placeholders with your subscription ID, res
150
150
```
151
151
152
152
> [!IMPORTANT]
153
-
> It is always a good practice to grant minimum access. The scope in the previous example is limited to the specific App Service app and not the entire resource group.
153
+
> It's always a good practice to grant minimum access. The scope in the previous example is limited to the specific App Service app and not the entire resource group.
154
154
155
155
---
156
156
@@ -159,7 +159,7 @@ In the previous example, replace the placeholders with your subscription ID, res
159
159
160
160
# [OpenID Connect](#tab/openid)
161
161
162
-
You need to provide your application's **Client ID**, **Tenant ID** and **Subscription ID** to the [Azure/login](https://github.com/marketplace/actions/azure-login) action. These values can either be provided directly in the workflow or can be stored in GitHub secrets and referenced in your workflow. Saving the values as GitHub secrets is the more secure option.
162
+
You need to provide your application's **Client ID**, **Tenant ID, and **Subscription ID** to the [Azure/login](https://github.com/marketplace/actions/azure-login) action. These values can either be provided directly in the workflow or can be stored in GitHub secrets and referenced in your workflow. Saving the values as GitHub secrets is the more secure option.
163
163
164
164
1. Open your GitHub repository and go to **Settings > Security > Secrets and variables > Actions > New repository secret**.
165
165
@@ -205,7 +205,7 @@ When you configure the GitHub workflow file later, you use the secret for the in
205
205
206
206
### 3. Add the workflow file to your GitHub repository
207
207
208
-
A workflow is defined by a YAML (.yml) file in the `/.github/workflows/` path in your GitHub repository. This definition contains the various steps and parameters that make up the workflow.
208
+
A YAML (.yml) file in the `/.github/workflows/` path in your GitHub repository defines a workflow. This definition contains the various steps and parameters that make up the workflow.
209
209
210
210
At a minimum, the workflow file would have the following distinct steps:
211
211
@@ -242,7 +242,7 @@ The following examples show the part of the workflow that builds the web app, in
242
242
243
243
### How do I deploy a WAR file through Maven plugin?
244
244
245
-
In case you configured your Java Tomcat project with the [Maven plugin](https://github.com/microsoft/azure-maven-plugins), you can also deploy to Azure App Service through this plugin. If you use the [Azure CLI GitHub action](https://github.com/Azure/cli) it will make use of your Azure login credentials.
245
+
In case you configured your Java Tomcat project with the [Maven plugin](https://github.com/microsoft/azure-maven-plugins), you can also deploy to Azure App Service through this plugin. If you use the [Azure CLI GitHub action](https://github.com/Azure/cli) it makes use of your Azure login credentials.
0 commit comments