Skip to content

Commit d408dd6

Browse files
authored
Merge pull request #184708 from ntrogh/alt-cicd-auth
Added information about Azure Login for CI/CD
2 parents 46bb78b + 14c97bc commit d408dd6

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

articles/load-testing/tutorial-cicd-github-actions.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ The sample application's source repo includes an Apache JMeter script named *Sam
5656

5757
## Set up GitHub access permissions for Azure
5858

59-
In this section, you'll configure your GitHub repository to have permissions for accessing the Azure Load Testing resource.
59+
The GitHub Actions workflow needs to authenticate with Azure to access Azure resources. In the sample application, you use the [Azure Login](https://github.com/Azure/login) action and an Azure Active Directory service principal to authenticate with Azure.
6060

61-
To access Azure resources, you'll create an Azure Active Directory service principal and use role-based access control to assign the necessary permissions.
61+
In this section, you'll configure your GitHub repository to have permissions to access your Azure load testing resource:
6262

63-
1. Run the following Azure CLI command to create a service principal:
63+
1. Run the following Azure CLI command to create a service principal and assign the Contributor role:
6464

6565
```azurecli
6666
az ad sp create-for-rbac --name "my-load-test-cicd" --role contributor \
@@ -82,8 +82,13 @@ To access Azure resources, you'll create an Azure Active Directory service princ
8282
}
8383
```
8484
85+
> [!NOTE]
86+
> Azure Login supports multiple ways to authenticate with Azure. For other authentication options, see the [Azure and GitHub integration site](/azure/developer/github).
87+
8588
1. Go to your forked GitHub repository for the sample application.
8689
90+
You'll add a GitHub secret to your repository for the service principal you created in the previous step. The Azure Login action uses this secret to authenticate with Azure.
91+
8792
1. Add a new secret to your GitHub repository by selecting **Settings** > **Secrets** > **New repository secret**.
8893
8994
:::image type="content" source="./media/tutorial-cicd-github-actions/github-new-secret.png" alt-text="Screenshot that shows selections for adding a new repository secret to your GitHub repo.":::
@@ -108,6 +113,27 @@ To access Azure resources, you'll create an Azure Active Directory service princ
108113
--subscription "<subscription-name-or-id>"
109114
```
110115
116+
You can now use the `AZURE_CREDENTIALS` secret with the Azure Login action in your CI/CD workflow. The following code snippet describes how this works for the sample application:
117+
118+
```yml
119+
jobs:
120+
build-and-deploy:
121+
# The type of runner that the job will run on
122+
runs-on: ubuntu-latest
123+
124+
# Steps represent a sequence of tasks that will be executed as part of the job
125+
steps:
126+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
127+
- name: Checkout GitHub Actions
128+
uses: actions/checkout@v2
129+
130+
- name: Login to Azure
131+
uses: azure/login@v1
132+
continue-on-error: false
133+
with:
134+
creds: ${{ secrets.AZURE_CREDENTIALS }}
135+
```
136+
111137
## Configure the GitHub Actions workflow to run a load test
112138

113139
In this section, you'll set up a GitHub Actions workflow that triggers the load test. The sample application repository contains a workflow file *SampleApp.yaml*. The workflow first deploys the sample web application to Azure App Service, and then invokes the load test. The GitHub action uses an environment variable to pass the URL of the web application to the Apache JMeter script.

0 commit comments

Comments
 (0)