Skip to content
This repository was archived by the owner on Jan 21, 2026. It is now read-only.

Commit 1f978e1

Browse files
committed
Merge branch 'master' into az-400-modernization
2 parents 2ceda47 + b1421ee commit 1f978e1

13 files changed

Lines changed: 93 additions & 108 deletions

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
# Thanks for taking the time to fill out this bug report!
1010
11-
**Replace issue name M00-LAB00:QUICK_DESCRIPTION, for example "M01-LAB01: My new issue"**
11+
**Replace issue name LAB00:QUICK_DESCRIPTION, for example "LAB01: My new issue"**
1212
- type: input
1313
id: contact
1414
attributes:

.github/ISSUE_TEMPLATE/feedback.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
# Thanks for taking the time to fill out this feedback report!
1010
11-
**Replace feedback name M00-LAB00:QUICK_DESCRIPTION, for example "M01-LAB01: My new feedback"**
11+
**Replace feedback name LAB00:QUICK_DESCRIPTION, for example "LAB01: My new feedback"**
1212
- type: input
1313
id: contact
1414
attributes:

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
**Replace issue name M00-LAB00:QUICK_DESCRIPTION, for example "M01-LAB01: My new issue" (or same name as linked Issue)**
1+
**Replace issue name LAB00:QUICK_DESCRIPTION, for example "LAB01: My new issue" (or same name as linked Issue)**
22

33
## Related Issue
44

.github/release.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# .github/release.yml
2+
3+
changelog:
4+
exclude:
5+
labels:
6+
- ignore-for-release
7+
authors:
8+
- octocat
9+
categories:
10+
- title: Breaking Changes 🛠
11+
labels:
12+
- Semver-Major
13+
- breaking-change
14+
- title: Exciting New Features 🎉
15+
labels:
16+
- Semver-Minor
17+
- enhancement
18+
- title: Other Changes
19+
labels:
20+
- "*"

Instructions/Labs/AZ400_M00_Validate_lab_environment.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,28 @@ lab:
1010

1111
## Instructions
1212

13-
1. Get a new **Azure Pass promocode** (valid for 30 days) from the instructor or other source.
14-
2. Use a private browser session to get a new **Microsoft Account (MSA)** at [Microsoft account](https://account.microsoft.com) or use an existing one.
15-
3. Using the same browser session, go to [Microsoft Azure Pass](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.
16-
4. Using the same browser session, go to [Microsoft Azure](https://portal.azure.com), then search at the top of the portal screen for **Azure DevOps**. In the resulting page, click **Azure DevOps organizations**.
17-
5. Next, click on the link labelled **My Azure DevOps Organizations** or navigate directly to [My Information](https://aex.dev.azure.com).
13+
> **Note**: Start at step 4, if you do already have a **personal Microsoft Account** setup and an active Microsoft Azure Pass subscription linked to that account.
14+
15+
1. Get a new **Azure Pass promocode** from the instructor or other source.
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.
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**.
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).
1821
6. On the **We need a few more details** page, select **Continue**.
1922
7. In the drop-down box on the left, choose **Default Directory**, instead of “Microsoft Account”.
2023
8. If prompted (*"We need a few more details"*), provide your name, e-mail address, and location and click **Continue**.
21-
9. Back at [My Information](https://aex.dev.azure.com) with **Default Directory** selected click the blue button **Create new organization**.
24+
9. Back at [https://aex.dev.azure.com](https://aex.dev.azure.com) with **Default Directory** selected click the blue button **Create new organization**.
2225
10. Accept the *Terms of Service* by clicking **Continue**.
2326
11. If prompted (*"Almost done"*), leave the name for the Azure DevOps organization at default (it needs to be a globally unique name) and pick a hosting location close to you from the list.
2427
12. Once the newly created organization opens in **Azure DevOps**, click **Organization settings** in the bottom left corner.
2528
13. At the **Organization settings** screen click **Billing** (opening this screen takes a few seconds).
2629
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.
27-
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.
28-
16. **Wait at least 3 hours before using the CI/CD capabilities** so that the new settings are reflected in the back end. Otherwise, you will still see the message *"This agent is not running because you have reached the maximum number of requests…"*.
29-
17. In Organization Settings, go to Security -> **Policies**
30-
18. **Turn on** "Third-party application access via OAuth"
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+
16. In **Organization Settings**, go to section **Security** and click **Policies**.
32+
17. Toggle the switch to **On** for **Third-party application access via OAuth**
3133
> 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.
32-
19. **Turn on** "Allow public projects"
33-
> Note: The public projects setting will allow some of the labs to use the free version of some extensions.
34-
20. OPTIONAL: you can validate this new setting has been successfully applied by creating and triggering a build pipeline. To do this either talk to the instructor or create a demo project into the newly created organization with billing enabled, using [Azure DevOps Demo Generator](https://azuredevopsdemogenerator.azurewebsites.net).
34+
18. Toggle the switch to **On** for **Allow public projects**
35+
> Note: Extensions used in some labs might require a public project to allow using the free version.
36+
19. **Wait at least 3 hours before using the CI/CD capabilities** so that the new settings are reflected in the backend. Otherwise, you will still see the message *"No hosted parallelism has been purchased or granted"*.
37+
20. OPTIONAL: you can validate these new settings have been successfully applied by creating and triggering a build pipeline. To do this either talk to the instructor or create a demo project into the newly created organization with billing enabled, using [Azure DevOps Demo Generator](https://azuredevopsdemogenerator.azurewebsites.net).

Instructions/Labs/AZ400_M01_Agile_Planning_and_Portfolio_Management_with_Azure_Boards.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,8 @@ The sprint backlog should contain all the information the team needs to successf
236236

237237
> **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.
238238
239-
1. In the rectangle representing the **Add page for most recent tutorial**, 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.
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.
241241

242242
> **Note**: This automatically updates the **Work By: Assigned To** section of the **Work details** pane.
243243
@@ -263,9 +263,9 @@ The sprint backlog should contain all the information the team needs to successf
263263

264264
> **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.
265265
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 tutorial** 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.
267267
268-
1. On the **Taskboard** tab of the **Sprints** view, in the square box representing the **Add page for most recent tutorial**, set the estimated number of hours to match your total capacity for this sprint, which you identified in the previous step.
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.
269269

270270
![Review the "Work details" section information, team´s assigned time is bigger than capacity.](images/m1/over_capacity_v1.png)
271271

Instructions/Labs/AZ400_M03_Configuring_Agent_Pools_and_Understanding_Pipeline_Styles.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ In this task, you will configure the LOD VM as an Azure DevOps self-hosting agen
132132
| Enter agent pool (press enter for default) | **az400m05l05a-pool** |
133133
| Enter agent name | **az400m05-vm0** |
134134
| Enter work folder (press enter for _work) | **Enter** |
135-
| Enter Perform an unzip for tasks for each step. (press enter for N) | **Enter** |
135+
| **(Only if shown)** Enter Perform an unzip for tasks for each step. (press enter for N) | **Enter** |
136136
| Enter run agent as service? (Y/N) (press enter for N) | **Y** |
137137
| Enter User account to use for the service (press enter for NT AUTHORITY\NETWORK SERVICE) | **Enter** |
138138
| Enter whether to prevent service starting immediately after configuration is finished? (Y/N) (press enter for N) | **Enter** |
@@ -152,6 +152,10 @@ In this task, you will configure the LOD VM as an Azure DevOps self-hosting agen
152152
demands:
153153
- agent.name -equals az400m05-vm0
154154
```
155+
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**.
156+
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.
157+
1. In the Azure DevOps portal, in the vertical navigational pane on the left side, in the **Pipelines** section, click **Pipelines**.
158+
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.
155159
156160
1. For `Task: NugetInstaller@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**.
157161
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.

Instructions/Labs/AZ400_M03_Implementing_GitHub_Actions_by_using_DevOps_Starter.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ In this task, you will create an Azure DevOps Starter project that automatically
7676
| Repository | **az400m08l01** |
7777
| Subscription | the name of the Azure subscription you are using for this lab |
7878
| Web app name | any valid, globally unique host name in the **azurewebsites.net** DNS namespace |
79-
| Location | the name of any Azure region in which you can provision an Azure web app |
79+
| Location | the name of any Azure region in which you can provision an Azure web app. **East US** recommended |
8080

81-
> **Note**: Wait for the provisioning to complete. This should take about 1 minute.
81+
> **Note**: Some **Location** may fail due to unavailable resources . **East US** recommended.
82+
> **Note**: Wait for the provisioning to complete. This should take about 1 minute.
8283
8384
1. On the **Deploy_DevOps_Project_az400m08l01 \| Overview** blade, click **Go to Resource**.
8485
1. On the **az400m08l01** blade, on the **GitHub Workflow** tile, click **Authorize**.

Instructions/Labs/AZ400_M03_Integrating_External_Source_Control_with_Azure_Pipelines.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ In this task, you will fork a GitHub repo and install Azure Pipelines in your Gi
6262

6363
> **Note**: You have the option to specify repositories to include, but for the purposes of this lab, just include all of them. Note that Azure DevOps requires the listed set of permissions to fulfill its services.
6464
65-
7. If prompted, authenticate with your GitHub password to continue.
66-
8. When prompted, on the **Setup your Azure Pipelines project** page, in the **Select your Azure DevOps organization** dropdown list, select your Azure DevOps account and click **Create a new project**.
67-
9. When prompted, on the **Setup your Azure Pipelines project** page, in the **Project name** textbox, type **Integrating External Source Control with Azure Pipelines**, leave the **Project visibility** set to **Private**, and click **Continue**.
65+
7. If prompted, authenticate with your GitHub password to continue.
66+
8. When prompted, on the **Setup your Azure Pipelines project** page, firstly, click **Switch Directories** and ensure 'Default Directory' is selected. Then, in the **Select your Azure DevOps organization** dropdown list, select your Azure DevOps account and click **Create a new project**.
67+
9. When prompted, on the **Setup your Azure Pipelines project** page, in the **Project name** textbox, type **Integrating External Source Control with Azure Pipelines**, leave the **Project visibility** set to **Private**, and click **Continue**.
6868
10. On the **Azure Pipelines by Microsoft would like permission to** page, click **Authorize Azure Pipelines**.
6969

7070
#### Task 2: Configuring your Azure Pipelines project

0 commit comments

Comments
 (0)