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
{{ message }}
This repository was archived by the owner on Jan 21, 2026. It is now read-only.
- **src** folder contains the .NET 6 website used on the lab scenarios.
46
46
47
-
#### Task 1: Create a private repository in GitHub and import eShopOnWeb
47
+
#### Task 1: Create a public repository in GitHub and import eShopOnWeb
48
48
49
-
In this task, you will create an empty private GitHub repository and import the existing [eShopOnWeb](https://github.com/MicrosoftLearning/eShopOnWeb) repository.
49
+
In this task, you will create an empty public GitHub repository and import the existing [eShopOnWeb](https://github.com/MicrosoftLearning/eShopOnWeb) repository.
50
50
51
-
1. From the lab computer, start a web browser, navigate to the [GitHub website](https://github.com/), log in using your account and click on **New** to create new repository.
51
+
1. From the lab computer, start a web browser, navigate to the [GitHub website](https://github.com/), sign in using your account and click on **New** to create new repository.
52
52
53
53

54
54
@@ -74,16 +74,16 @@ In this task, you will create an empty private GitHub repository and import the
74
74
75
75
### Exercise 1: Setup your GitHub Repository and Azure access
76
76
77
-
In this exercise, you will create an Azure Service Principal to authorize GitHub accessing you Azure subscription. You will also setup the GitHub workflow that will build, test and deploy your website to Azure.
77
+
In this exercise, you will create an Azure Service Principal to authorize GitHub accessing your Azure subscription from GitHub Actions. You will also setup the GitHub workflow that will build, test and deploy your website to Azure.
78
78
79
79
#### Task 1: Create an Azure Service Principal and save it as GitHub secret
80
80
81
81
In this task, you will create the Azure Service Principal used by GitHub to deploy the desired resources. As an alternative, you could also use [OpenID connect in Azure](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure), as a secretless authentication mechanism.
82
82
83
-
1. On your lab computer, in a browser window open the Azure Portal (https://portal.azure.com/).
83
+
1. On your lab computer, in a browser window, open the Azure Portal (https://portal.azure.com/).
84
84
1. In the portal, look for **Resource Groups** and click on it.
85
85
1. Click on **+ Create** to create a new Resource Group for the exercise.
86
-
1.on the **Create a resource group** tab, give the following name to your Resource Group: **rg-az400-eshopeonweb-NAME** (replace NAME for some unique alias). Click on **Review+Create > Create**.
86
+
1.On the **Create a resource group** tab, give the following name to your Resource Group: **rg-az400-eshopeonweb-NAME** (replace NAME for some unique alias). Click on **Review+Create > Create**.
87
87
1. In the Azure Portal, open the **Cloud Shell** (next to the search bar).
88
88
89
89
> NOTE: if this is the first time you open the Cloud Shell, you need to configure the [persistent storage](https://learn.microsoft.com/en-us/azure/cloud-shell/persisting-shell-storage#create-new-storage)
@@ -94,7 +94,7 @@ In this task, you will create the Azure Service Principal used by GitHub to depl
94
94
95
95
> NOTE: this command will create a Service Principal with Contributor access to the Resource Group created before. This way we make sure GitHub Actions will only have the permissions needed to interact only with this Resource Group (not the rest of the subscription)
96
96
97
-
1. The command will output a JSON object, you will keep it as a GitHub secret for the workflow, copy it. The JSON contains the identifiers used to authenticate against Azure in the name of an application (service principal).
97
+
1. The command will output a JSON object, you will later keep it as a GitHub secret for the workflow, copy it. The JSON contains the identifiers used to authenticate against Azure in the name of an Azure AD application identity (service principal).
98
98
99
99
```JSON
100
100
{
@@ -109,7 +109,7 @@ In this task, you will create the Azure Service Principal used by GitHub to depl
109
109
1. In a browser window, go back to your **eShopOnWeb** GitHub repository.
110
110
1. On the repository page, go to **Settings**, click on **Secrets > Actions**. Click on **New repository secret**
111
111
- Name : **AZURE_CREDENTIALS**
112
-
- Secret: **paste the previously copied JSON object** (GitHub is able to keep multiple secrets under same name)
112
+
- Secret: **paste the previously copied JSON object** (GitHub is able to keep multiple secrets under same name, used by [azure/login](https://github.com/Azure/login) action )
113
113
114
114
1. Click on **Add secret**. Now GitHub Actions will be able to reference the service principal, using the repository secret.
115
115
@@ -136,12 +136,12 @@ In this task, you will modify the given GitHub workflow and execute it to deploy
136
136
137
137
In this task, you will review the GitHub workflow execution:
138
138
139
-
1. 1. In a browser window, go back to your **eShopOnWeb** GitHub repository.
140
-
1. On the repository page, go to **Actions**, you will the workflow setup before executing. Click on it.
139
+
1. In a browser window, go back to your **eShopOnWeb** GitHub repository.
140
+
1. On the repository page, go to **Actions**, you will see the workflow setup before executing. Click on it.
141
141
142
142

143
143
144
-
1. Wait for the workflow to execute. From the **Summary** you can see the two workflow jobs, status and Artifacts retained from the execution.
144
+
1. Wait for the workflow to finish. From the **Summary** you can see the two workflow jobs, the status and Artifacts retained from the execution. You can click in each job to review logs.
@@ -174,25 +174,25 @@ In this task, you will use GitHub environments to ask for manual approval before
174
174
175
175
1. Workflow will follow the **deploy** job execution and finish.
176
176
177
-
#### Task 1: Remove the Azure lab resources
177
+
### Exercise 2: Remove the Azure lab resources
178
178
179
-
In this task, you will use Azure Cloud Shell to remove the Azure resources provisioned in this lab to eliminate unnecessary charges.
179
+
In this exercise, you will use Azure Cloud Shell to remove the Azure resources provisioned in this lab to eliminate unnecessary charges.
180
180
181
181
1. In the Azure portal, open the **Bash** shell session within the **Cloud Shell** pane.
182
182
1. List all resource groups created throughout the labs of this module by running the following command:
183
183
184
184
```sh
185
-
az group list --query "[?starts_with(name,'az400m08l01')].name" --output tsv
185
+
az group list --query "[?starts_with(name,'rg-az400-eshopeonweb')].name" --output tsv
186
186
```
187
187
188
188
1. Delete all resource groups you created throughout the labs of this module by running the following command:
189
189
190
190
```sh
191
-
az group list --query "[?starts_with(name,'az400m08l01')].[name]" --output tsv | xargs -L1 bash -c 'az group delete --name $0 --no-wait --yes'
191
+
az group list --query "[?starts_with(name,'rg-az400-eshopeonweb')].[name]" --output tsv | xargs -L1 bash -c 'az group delete --name $0 --no-wait --yes'
192
192
```
193
193
194
194
>**Note**: The command executes asynchronously (as determined by the --nowait parameter), so while you will be able to run another Azure CLI command immediately afterwards within the same Bash session, it will take a few minutes before the resource groups are actually removed.
195
195
196
196
## Review
197
197
198
-
In this lab, you implemented a GitHub Action workflow that deploys an Azure web app by using DevOps Starter.
198
+
In this lab, you implemented a GitHub Action workflow that deploys an Azure Web App.
0 commit comments