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.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M00_Validate_lab_environment.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,9 @@ lab:
14
14
15
15
1. Get a new **Azure Pass promocode** from the instructor or other source.
16
16
2. Use a private browser session to get a new **personal Microsoft Account (MSA)** at [https://account.microsoft.com](https://account.microsoft.com).
17
-
3. Using the same browser session, go to [https://www.microsoftazurepass.com](https://www.microsoftazurepass.com) to redeem your Azure Pass using your Microsoft Account (MSA). For details, see [Redeem a Microsoft Azure Pass](https://www.microsoftazurepass.com/Home/HowTo?Length=5). Follow the instructions for redemption.
17
+
3. Using the same browser session, go to [https://www.microsoftazurepass.com](https://www.microsoftazurepass.com) to redeem your Azure Pass using your Microsoft Account (MSA). For details, see [Redeem a Microsoft Azure Pass](https://www.microsoftazurepass.com/Home/HowTo?Length=5). Follow the instructions for redemption.
18
18
19
-
4. Open a browser and navigate to [https://portal.azure.com](https://portal.azure.com), then search at the top of the Azure portal screen for **Azure DevOps**. In the resulting page, click **Azure DevOps organizations**.
19
+
4. Open a browser and navigate to [https://portal.azure.com](https://portal.azure.com), then search at the top of the Azure portal screen for **Azure DevOps**. In the resulting page, click **Azure DevOps organizations**.
20
20
5. Next, click on the link labelled **My Azure DevOps Organizations** or navigate directly to [https://aex.dev.azure.com](https://aex.dev.azure.com).
21
21
6. On the **We need a few more details** page, select **Continue**.
22
22
7. In the drop-down box on the left, choose **Default Directory**, instead of “Microsoft Account”.
@@ -27,7 +27,7 @@ lab:
27
27
12. Once the newly created organization opens in **Azure DevOps**, click **Organization settings** in the bottom left corner.
28
28
13. At the **Organization settings** screen click **Billing** (opening this screen takes a few seconds).
29
29
14. Click **Setup billing** and on the right-hand side of the screen select the **Azure Pass - Sponsorship** subscription and click **Save** to link the subscription with the organization.
30
-
15. Once the screen shows the linked Azure Subscription ID at the top, change the number of **Paid parallel jobs** for **MS Hosted CI/CD** from 0 to **1**. Then click the **SAVE** button at the bottom.
30
+
15. Once the screen shows the linked Azure Subscription ID at the top, change the number of **Paid parallel jobs** for **MS Hosted CI/CD** from 0 to **1**. Then click the **SAVE** button at the bottom.
31
31
16. In **Organization Settings**, go to section **Security** and click **Policies**.
32
32
17. Toggle the switch to **On** for **Third-party application access via OAuth**
33
33
> Note: The OAuth setting helps enable tools such as the DemoDevOpsGenerator to register extensions. Without this, several labs may fail due to a lack of the required extensions.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M01_L01_Agile_Planning_and_Portfolio_Management_with_Azure_Boards.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -237,7 +237,7 @@ The sprint backlog should contain all the information the team needs to successf
237
237
> **Note**: The current sprint has a pretty limited scope. There are two tasks in the **To do** stage. At this point, neither task has been assigned. Both show a numeric value to the right of **Unassigned** entry representing the remaining work estimate.
238
238
239
239
1. In the rectangle representing the **Add page for most recent tutorials**, click the **Unassigned** entry and, in the list of user accounts, select your account to assign the task to yourself.
240
-
1. Assign the **Add page for most recent tutorial** task to yourself.
240
+
1. Assign the **Add page for most recent tutorial** task to yourself.
241
241
242
242
> **Note**: This automatically updates the **Work By: Assigned To** section of the **Work details** pane.
243
243
@@ -263,7 +263,7 @@ The sprint backlog should contain all the information the team needs to successf
263
263
264
264
> **Note**: Note that the **Work details** panel has been updated to reflect your available bandwidth. The actual number displayed in the **Work details** panel might vary, but your total sprint capacity will be equal to the number of working days remaining till the end of the sprint, since you allocated 1 hour per day. Take a note of this value since you will use it in the upcoming steps.
265
265
266
-
> **Note**: One convenient feature of the boards is that you can easily update key data in-line. It's a good practice to regularly update the **Remaining Work** estimate to reflect the amount of time expected for each task. Let's say you've reviewed the work for the **Add page for most recent tutorials** task and found that it will actually take longer than originally expected.
266
+
> **Note**: One convenient feature of the boards is that you can easily update key data in-line. It's a good practice to regularly update the **Remaining Work** estimate to reflect the amount of time expected for each task. Let's say you've reviewed the work for the **Add page for most recent tutorials** task and found that it will actually take longer than originally expected.
267
267
268
268
1. On the **Taskboard** tab of the **Sprints** view, in the square box representing the **Add page for most recent tutorials**, set the estimated number of hours to match your total capacity for this sprint, which you identified in the previous step.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M02_L02_Version_Controlling_with_Git_in_Azure_Repos.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ In this task, you will create an **eShopOnWeb** Azure DevOps project to be used
59
59
60
60
In this task you will import the eShopOnWeb Git repository that will be used by several labs.
61
61
62
-
1. On your lab computer, in a browser window open your Azure DevOps organization and the previoulsy created **eShopOnWeb** project. Click on **Repos>Files** , **Import**. On the **Import a Git Repository** window, paste the following URL https://github.com/MicrosoftLearning/eShopOnWeb.git and click on **Import**:
62
+
1. On your lab computer, in a browser window open your Azure DevOps organization and the previously created **eShopOnWeb** project. Click on **Repos>Files** , **Import**. On the **Import a Git Repository** window, paste the following URL https://github.com/MicrosoftLearning/eShopOnWeb.git and click on **Import**:
63
63
64
64

65
65
@@ -332,8 +332,8 @@ For simplicity we will work directly on the web browser repo editor (working dir
332
332
333
333
In this task, you will use the Azure DevOps portal to test the policy and create your first Pull Request.
334
334
335
-
1. In the vertical navigational pane of the of the Azure DevOps portal, in the **Repos>Files**, make sure the **main** branch is selected (drowpdownaboveshowncontent).
336
-
1. To make sure policies are working, try making a change and commiting it on the **main** branch, navigate to the **/eShopOnWeb/src/Web/Program.cs** file and select it. This will automatically display its content in the details pane.
335
+
1. In the vertical navigational pane of the of the Azure DevOps portal, in the **Repos>Files**, make sure the **main** branch is selected (dropdownaboveshowncontent).
336
+
1. To make sure policies are working, try making a change and committing it on the **main** branch, navigate to the **/eShopOnWeb/src/Web/Program.cs** file and select it. This will automatically display its content in the details pane.
337
337
1. On the first line add the following comment:
338
338
339
339
```csharp
@@ -375,11 +375,11 @@ In this task, you will use the Azure DevOps portal to create a Pull Request, usi
375
375
1. Next, open the **Files** tab to review the proposed changes. In a more complete Pull Request, you would be able to review files one by one (markedasreviewed) and open comments for lines that may not be clear (hoveringthemouseoverthelinenumbergivesyouanoptiontopostacomment).
376
376
1. Go back to the **Overview** tab, and on the top-right click on **Approve**. All the requirements will change to green. Now you can click on **Complete**.
377
377
1. On the **Complete Pull Request** tab, multiple options will be given before completing the merge:
378
-
- **Merge Type**: 4 merge types are offered, you can review them [here](https://learn.microsoft.com/en-us/azure/devops/repos/git/complete-pull-requests?view=azure-devops&tabs=browser#complete-a-pull-request) or observing the given animations. Choose **Merge (no fast forward)**.
378
+
- **Merge Type**: 4 merge types are offered, you can review them [here](https://learn.microsoft.com/azure/devops/repos/git/complete-pull-requests?view=azure-devops&tabs=browser#complete-a-pull-request) or observing the given animations. Choose **Merge (no fast forward)**.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M03_L04_Configuring_Agent_Pools_and_Understanding_Pipeline_Styles.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -153,10 +153,10 @@ In this task, you will configure the LOD VM as an Azure DevOps self-hosting agen
153
153
demands:
154
154
- agent.name -equals az400m05-vm0
155
155
```
156
-
1. For `Task: NugetToolInstaller@0`, click on **Settings (link that is displaying above the task in grey colour)**, modify **Version of NuGet.exe to install** > **4.0.0** and click on **Add**.
157
-
1. On the **PartsUnlimited** edit pane, in the upper right corner of the pane, click **Save** and, on the **Save** pane, click **Save** again. This will automatically trigger the build based on this pipeline.
156
+
1. For `Task: NugetToolInstaller@0`, click on **Settings (link that is displaying above the task in grey colour)**, modify **Version of NuGet.exe to install** > **4.0.0** and click on **Add**.
157
+
1. On the **PartsUnlimited** edit pane, in the upper right corner of the pane, click **Save** and, on the **Save** pane, click **Save** again. This will automatically trigger the build based on this pipeline.
158
158
1. In the Azure DevOps portal, in the vertical navigational pane on the left side, in the **Pipelines** section, click **Pipelines**.
159
-
1. On the **Recent** tab of the **Pipelines** pane, click the **PartsUnlimited** entry, on the **Runs** tab of the **PartsUnlimited** pane, select the most recent run, on the **Summary** pane of the run, scroll down to the bottom, in the **Jobs** section, click **Phase 1** and monitor the job until its successful completion.
159
+
1. On the **Recent** tab of the **Pipelines** pane, click the **PartsUnlimited** entry, on the **Runs** tab of the **PartsUnlimited** pane, select the most recent run, on the **Summary** pane of the run, scroll down to the bottom, in the **Jobs** section, click **Phase 1** and monitor the job until its successful completion.
Copy file name to clipboardExpand all lines: Instructions/Labs/AZ400_M03_L07_Implementing_GitHub_Actions_for_CI_CD.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,7 @@ In this task, you will create the Azure Service Principal used by GitHub to depl
83
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)
@@ -118,30 +118,30 @@ In this task, you will create the Azure Service Principal used by GitHub to depl
118
118
In this task, you will modify the given GitHub workflow and execute it to deploy the solution in your own subscription.
119
119
120
120
1. In a browser window, go back to your **eShopOnWeb** GitHub repository.
121
-
1. On the repository page, go to **Code** and open the following file: **eShopOnWeb/.github/workflows/eshoponweb-cicd.yml**. This worflow defines the CI/CD process for the given .NET 6 website code.
121
+
1. On the repository page, go to **Code** and open the following file: **eShopOnWeb/.github/workflows/eshoponweb-cicd.yml**. This workflow defines the CI/CD process for the given .NET 6 website code.
122
122
123
123
1. Uncomment the **on** section (delete "#"). The workflow triggers with every push to the main branch and also offers manual triggering ("workflow_dispatch").
124
124
125
-
1. In the **env** section, make the following changes:
125
+
1. In the **env** section, make the following changes:
126
126
- Replace **NAME** in **RESOURCE-GROUP** variable. It should be the same resource group created in previous steps.
127
-
- (Optional) You can choose your closest [azure region](https://azure.microsoft.com/en-gb/explore/global-infrastructure/geographies/#geographies) for **LOCATION**. For example, "eastus", "eastasia", "westus", etc.
128
-
- Replace **YOUR-SUBS-ID** in **SUBSCRIPTION-ID**.
129
-
- Replace **NAME** in **WEBAPP-NAME** with some unique alias. It will be used to create a globally unique website using Azure App Service.
127
+
- (Optional) You can choose your closest [azure region](https://azure.microsoft.com/en-gb/explore/global-infrastructure/geographies/#geographies) for **LOCATION**. For example, "eastus", "eastasia", "westus", etc.
128
+
- Replace **YOUR-SUBS-ID** in **SUBSCRIPTION-ID**.
129
+
- Replace **NAME** in **WEBAPP-NAME** with some unique alias. It will be used to create a globally unique website using Azure App Service.
130
130
131
131
1. Read the workflow carefully, comments are provided to help understand.
132
132
133
133
1. Click on **Start Commit** and **Commit Changes** leaving defaults (changing the main branch). The workflow will get automatically executed.
134
134
135
-
#### Task 3: Review GitHub Workflkow execution
135
+
#### Task 3: Review GitHub Workflow execution
136
136
137
137
In this task, you will review the GitHub workflow execution:
138
138
139
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.
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 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.
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.
@@ -154,7 +154,7 @@ In this task, you will review the GitHub workflow execution:
154
154
In this task, you will use GitHub environments to ask for manual approval before executing the actions defined on the deploy job of your workflow.
155
155
156
156
1. On the repository page, go to **Code** and open the following file: **eShopOnWeb/.github/workflows/eshoponweb-cicd.yml**.
157
-
1. In the **deploy** job section, you can find a reference to an **enviroment** called **Development**. GitHub used [environments](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment) add protection rules (and secrets) for your targets.
157
+
1. In the **deploy** job section, you can find a reference to an **enviroment** called **Development**. GitHub used [environments](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment) add protection rules (and secrets) for your targets.
158
158
159
159
1. On the repository page, go to **Settings**, open **Environments** and click **New environment**.
0 commit comments