Skip to content

Commit cd86939

Browse files
committed
Merge branch 'main' into release-waf-modules-refresh
2 parents abdeb84 + 09aafc6 commit cd86939

31 files changed

+649
-649
lines changed
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.1-introduction
3-
title: Introduction
4-
metadata:
5-
title: Introduction
6-
description: In this module, you learn how to set up a build agent that runs on an Azure virtual machine.
7-
ms.custom: devdivchpfy22
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
durationInMinutes: 1
13-
content: |
14-
[!include[](includes/1-introduction.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.1-introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: In this module, you learn how to set up a build agent that runs on an Azure virtual machine.
7+
ms.custom: devdivchpfy22
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
durationInMinutes: 1
13+
content: |
14+
[!include[](includes/1-introduction.md)]
15+
Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,48 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.2-choose-a-build-agent
3-
title: Choose a Microsoft-hosted or self-hosted build agent
4-
metadata:
5-
title: Choose a Microsoft-hosted or self-hosted build agent
6-
description: Learn about some of the factors to consider when you choose a build agent.
7-
ms.custom: devdivchpfy22
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
durationInMinutes: 6
13-
content: |
14-
[!include[](includes/2-choose-a-build-agent.md)]
15-
quiz:
16-
title: Check your knowledge
17-
questions:
18-
- content: "Let's say you're building a video game. The build process takes two hours to run and uses 18 GB to 20 GB of disk space to compile the game assets. What kind of build agent might you use?"
19-
choices:
20-
- content: "A Microsoft-hosted agent"
21-
isCorrect: false
22-
explanation: "Although the build is completed within the allowed time, a Microsoft-hosted agent might not provide enough disk space for your build."
23-
- content: "A self-hosted agent"
24-
isCorrect: true
25-
explanation: "Although the build is completed within the allowed time, you might need a self-hosted agent to accommodate the amount of disk space that your build requires."
26-
- content: "Let's say you're building an application that runs on macOS, Linux, and Windows. How might you build the app for each platform you target?"
27-
choices:
28-
- content: "Create a build pipeline for each platform."
29-
isCorrect: false
30-
explanation: "Although you can create multiple build pipelines, it's easier to configure the pipeline to build the app on multiple platforms."
31-
- content: "Configure one pipeline to build on each platform."
32-
isCorrect: true
33-
explanation: "You can configure the pipeline to build on multiple platforms."
34-
- content: "Build for one platform and trust that the results run on all platforms."
35-
isCorrect: false
36-
explanation: "You can't always deploy a build for one platform to another platform. You also miss the opportunity to run quality tests on each platform you support."
37-
- content: "A self-hosted build agent:"
38-
choices:
39-
- content: "Must run on Azure."
40-
isCorrect: false
41-
explanation: "In this module, you bring up a self-hosted agent on Azure. But you can run your build agent almost anywhere."
42-
- content: "Can run anywhere, including Azure, another cloud, or on-premises."
43-
isCorrect: true
44-
explanation: "You can run a self-hosted agent anywhere. The agent must meet the requirements and be able to connect to Azure Pipelines."
45-
- content: "Must run on Linux. Use a Microsoft-hosted agent to build Windows applications."
46-
isCorrect: false
47-
explanation: "A self-hosted agent can run on Linux, macOS, or Windows."
48-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.2-choose-a-build-agent
3+
title: Choose a Microsoft-hosted or self-hosted build agent
4+
metadata:
5+
title: Choose a Microsoft-hosted or self-hosted build agent
6+
description: Learn about some of the factors to consider when you choose a build agent.
7+
ms.custom: devdivchpfy22
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
durationInMinutes: 6
13+
content: |
14+
[!include[](includes/2-choose-a-build-agent.md)]
15+
quiz:
16+
title: Check your knowledge
17+
questions:
18+
- content: "Let's say you're building a video game. The build process takes two hours to run and uses 18 GB to 20 GB of disk space to compile the game assets. What kind of build agent might you use?"
19+
choices:
20+
- content: "A Microsoft-hosted agent"
21+
isCorrect: false
22+
explanation: "Although the build is completed within the allowed time, a Microsoft-hosted agent might not provide enough disk space for your build."
23+
- content: "A self-hosted agent"
24+
isCorrect: true
25+
explanation: "Although the build is completed within the allowed time, you might need a self-hosted agent to accommodate the amount of disk space that your build requires."
26+
- content: "Let's say you're building an application that runs on macOS, Linux, and Windows. How might you build the app for each platform you target?"
27+
choices:
28+
- content: "Create a build pipeline for each platform."
29+
isCorrect: false
30+
explanation: "Although you can create multiple build pipelines, it's easier to configure the pipeline to build the app on multiple platforms."
31+
- content: "Configure one pipeline to build on each platform."
32+
isCorrect: true
33+
explanation: "You can configure the pipeline to build on multiple platforms."
34+
- content: "Build for one platform and trust that the results run on all platforms."
35+
isCorrect: false
36+
explanation: "You can't always deploy a build for one platform to another platform. You also miss the opportunity to run quality tests on each platform you support."
37+
- content: "A self-hosted build agent:"
38+
choices:
39+
- content: "Must run on Azure."
40+
isCorrect: false
41+
explanation: "In this module, you bring up a self-hosted agent on Azure. But you can run your build agent almost anywhere."
42+
- content: "Can run anywhere, including Azure, another cloud, or on-premises."
43+
isCorrect: true
44+
explanation: "You can run a self-hosted agent anywhere. The agent must meet the requirements and be able to connect to Azure Pipelines."
45+
- content: "Must run on Linux. Use a Microsoft-hosted agent to build Windows applications."
46+
isCorrect: false
47+
explanation: "A self-hosted agent can run on Linux, macOS, or Windows."
48+
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.3-set-up-environment
3-
title: Exercise - Set up your Azure DevOps environment
4-
metadata:
5-
title: Exercise - Set up your Azure DevOps environment
6-
description: Run a template to set up your Azure DevOps environment.
7-
ms.custom: devdivchpfy22
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
durationInMinutes: 8
13-
content: |
14-
[!include[](includes/3-set-up-environment.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.3-set-up-environment
3+
title: Exercise - Set up your Azure DevOps environment
4+
metadata:
5+
title: Exercise - Set up your Azure DevOps environment
6+
description: Run a template to set up your Azure DevOps environment.
7+
ms.custom: devdivchpfy22
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
durationInMinutes: 8
13+
content: |
14+
[!include[](includes/3-set-up-environment.md)]
15+
Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.4-create-build-agent
3-
title: Exercise - Create a build agent that runs on Azure
4-
metadata:
5-
title: Exercise - Create a build agent that runs on Azure
6-
description: Use a virtual machine that runs on Azure to configure a build agent you can use in Azure Pipelines.
7-
ms.custom: devdivchpfy22, linux-related-content
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
interactive: bash
13-
# azureSandbox: true
14-
durationInMinutes: 20
15-
content: |
16-
[!include[](includes/4-create-build-agent.md)]
17-
# NOTE: Task validation is failing for learners, so that is disabled for now.
18-
# tasks:
19-
# Verify a VM exists. Do NOT check anything specific about it.
20-
# - action: exists
21-
# environment: azure
22-
# azure:
23-
# resource:
24-
# type: "Microsoft.Compute/virtualMachines"
25-
# hint: "Run the `az vm create` command as shown to create your virtual machine."
26-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.4-create-build-agent
3+
title: Exercise - Create a build agent that runs on Azure
4+
metadata:
5+
title: Exercise - Create a build agent that runs on Azure
6+
description: Use a virtual machine that runs on Azure to configure a build agent you can use in Azure Pipelines.
7+
ms.custom: devdivchpfy22, linux-related-content
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
interactive: bash
13+
# azureSandbox: true
14+
durationInMinutes: 20
15+
content: |
16+
[!include[](includes/4-create-build-agent.md)]
17+
# NOTE: Task validation is failing for learners, so that is disabled for now.
18+
# tasks:
19+
# Verify a VM exists. Do NOT check anything specific about it.
20+
# - action: exists
21+
# environment: azure
22+
# azure:
23+
# resource:
24+
# type: "Microsoft.Compute/virtualMachines"
25+
# hint: "Run the `az vm create` command as shown to create your virtual machine."
26+
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.5-build-application
3-
title: Exercise - Build the application using your agent
4-
metadata:
5-
title: Exercise - Build the application by using your agent
6-
description: Configure the pipeline to use your build agent, and watch the build in action.
7-
ms.custom: devdivchpfy22
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
durationInMinutes: 10
13-
content: |
14-
[!include[](includes/5-build-application.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.5-build-application
3+
title: Exercise - Build the application using your agent
4+
metadata:
5+
title: Exercise - Build the application by using your agent
6+
description: Configure the pipeline to use your build agent, and watch the build in action.
7+
ms.custom: devdivchpfy22
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
durationInMinutes: 10
13+
content: |
14+
[!include[](includes/5-build-application.md)]
15+
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.6-clean-up-environment
3-
title: Exercise - Clean up your Azure DevOps environment
4-
metadata:
5-
title: Exercise - Clean up your Azure DevOps environment
6-
description: Clean up your Azure DevOps environment and disable your build pipeline.
7-
ms.custom: devdivchpfy22
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
durationInMinutes: 7
13-
content: |
14-
[!include[](includes/6-clean-up-environment.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.6-clean-up-environment
3+
title: Exercise - Clean up your Azure DevOps environment
4+
metadata:
5+
title: Exercise - Clean up your Azure DevOps environment
6+
description: Clean up your Azure DevOps environment and disable your build pipeline.
7+
ms.custom: devdivchpfy22
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
durationInMinutes: 7
13+
content: |
14+
[!include[](includes/6-clean-up-environment.md)]
15+
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.azdo.host-build-agent.7-summary
3-
title: Summary
4-
metadata:
5-
title: Summary
6-
description: This unit summarizes what you've learned and provides more learning resources.
7-
ms.custom: devdivchpfy22
8-
ms.date: 04/02/2024
9-
author: steved0x
10-
ms.author: sdanie
11-
ms.topic: unit
12-
show_latex: true
13-
durationInMinutes: 7
14-
content: |
15-
[!include[](includes/7-summary.md)]
16-
1+
### YamlMime:ModuleUnit
2+
uid: learn.azdo.host-build-agent.7-summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: This unit summarizes what you've learned and provides more learning resources.
7+
ms.custom: devdivchpfy22
8+
ms.date: 05/08/2025
9+
author: steved0x
10+
ms.author: sdanie
11+
ms.topic: unit
12+
show_latex: true
13+
durationInMinutes: 7
14+
content: |
15+
[!include[](includes/7-summary.md)]
16+

learn-pr/azure-devops/host-build-agent/includes/1-introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ If you want to go through just this module, you need to set up a development env
2727
- An Azure subscription
2828
- A [GitHub](https://github.com/join?azure-portal=true) account
2929
- [Visual Studio Code](https://code.visualstudio.com?azure-portal=true)
30-
- [.NET 6.0 SDK](https://dotnet.microsoft.com/download/dotnet/6.0?azure-portal=true)
30+
- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0?azure-portal=true)
3131
- [Git](https://git-scm.com/downloads?azure-portal=true)
3232

3333
You can get started with Azure DevOps for free.

learn-pr/azure-devops/host-build-agent/includes/2-choose-a-build-agent.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Microsoft-hosted agents have a few limitations, which include:
6969

7070
* **Build duration**: A build job can run for up to six hours.
7171
* **Disk space**: Hosted agents provide a fixed amount of storage for your sources and your build outputs. This may not be enough storage.
72-
* **CPU, memory, and network**: Hosted agents run on Microsoft Azure general purpose VMs. [Standard_DS2_v2](/azure/virtual-machines/dv2-dsv2-series#dsv2-series) describes the CPU, memory, and network characteristics you can expect.
72+
* **CPU, memory, and network**: Hosted agents run on Microsoft Azure general purpose VMs. [Standard_DS2_v2](/azure/virtual-machines/dv2-dsv2-series) describes the CPU, memory, and network characteristics you can expect.
7373
* **Interactivity**: You can't sign in to a hosted agent.
7474
* **File shares**: You can't drop build artifacts to Universal Naming Convention (UNC) file shares.
7575

@@ -92,10 +92,10 @@ For example, you can:
9292
* **Set up the build agent manually**: You bring up the system, sign in, and interactively install your build tools and the agent software.
9393
* **Automate the process**: You bring up the system and run a script or tool to install your build tools and the agent software. You can configure the agent after the system comes online or during the provisioning process.
9494

95-
For example, when you run build agents on Azure, you can use an Azure Resource Manager template (ARM template) or Bicep to bring up the system and configure it to act as a build agent, all in one step. [Terraform](https://www.terraform.io?azure-portal=true) by HashiCorp is another way to automate the process. Terraform works with many types of infrastructure, including Azure.
95+
For example, when you run build agents on Azure, you can use an Azure Resource Manager template (ARM template) or Bicep to bring up the system and configure it to act as a build agent, all in one step. [Terraform](https://developer.hashicorp.com/terraform?azure-portal=true) by HashiCorp is another way to automate the process. Terraform works with many types of infrastructure, including Azure.
9696
* **Create an image**: You create an image—or snapshot—of a configured environment. You then use the image to create as many identical systems as you need in your pool.
9797

98-
Manual configuration is a good way to get started, because it enables you to understand the process. It's also the fastest way to get set up when you need just one build agent.
98+
Manual configuration is a good way to get started, because it allows you to understand the process. It's also the fastest way to get set up when you need just one build agent.
9999

100100
Automation is useful when you need many build agents, or you need to bring up and tear down build infrastructure on a regular basis. You can move from a manual process to an automated process when you need multiple agents.
101101

learn-pr/azure-devops/host-build-agent/includes/4-create-build-agent.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
In this unit, to configure a build agent that you can use in Microsoft Azure Pipelines, you'll use a virtual machine that runs on Microsoft Azure. We provide a virtual machine that you can use for the duration of this module.
1+
In this unit, you'll use a virtual machine that runs on Microsoft Azure to configure a build agent that you can use in Microsoft Azure Pipelines. We provide a virtual machine that you can use for the duration of this module.
22

33
In this unit, you will:
44

@@ -18,7 +18,7 @@ To configure your VM, you have several choices:
1818
* You can automate the deployment by using an ARM template, Bicep, or other automated provisioning tool.
1919
* If you need to deploy many build agents, you can create a VM image that has all the software pre-installed.
2020

21-
Configuring a system interactively is a good way to get started because it helps you understand the process and what's needed. To simplify the process, connect to your Ubuntu VM over SSH and run shell scripts to set up your build agent.
21+
Configuring a system interactively is a good way to get started, because it helps you understand the process and what's needed. To simplify the process, connect to your Ubuntu VM over SSH and run shell scripts to set up your build agent.
2222

2323
> [!NOTE]
2424
> If you're unfamiliar with connecting to or configuring Linux systems, just follow along. You can apply the same concepts to Windows build agents.
@@ -86,17 +86,17 @@ To create your VM, run the following `az vm create` command:
8686
az vm create \
8787
--name MyLinuxAgent \
8888
--resource-group tailspin-space-game-rg \
89-
--image canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \
89+
--image canonical:ubuntu-24_04-lts:server:latest \
9090
--size Standard_DS2_v2 \
9191
--admin-username azureuser \
9292
--generate-ssh-keys
9393
```
9494

9595
Your VM will take a few minutes to come up.
9696

97-
[Standard_DS2_v2](/azure/virtual-machines/dv2-dsv2-series#dsv2-series) specifies the VM's size. A VM's size defines its processor speed, amount of memory, initial amount of storage, and expected network bandwidth. This is the same size that's provided by Microsoft-hosted agents. In practice, you can choose a size that provides more computing power or additional capabilities, such as graphics processing.
97+
[Standard_DS2_v2](/azure/virtual-machines/dv2-dsv2-series) specifies the VM's size. A VM's size defines its processor speed, amount of memory, initial amount of storage, and expected network bandwidth. This is the same size that's provided by Microsoft-hosted agents. In practice, you can choose a size that provides more computing power or additional capabilities, such as graphics processing.
9898

99-
The `--resource-group` argument specifies the _resource group_ that holds all the things that we need to create. A resource group enables you to administer all the VMs, disks, network interfaces, and other elements that make up our solution as a unit.
99+
The `--resource-group` argument specifies the _resource group_ that holds all the things that we need to create. A resource group allows you to administer all the VMs, disks, network interfaces, and other elements that make up our solution as a unit.
100100

101101
## Create the agent pool
102102

0 commit comments

Comments
 (0)