Skip to content

Commit 9e8b5eb

Browse files
authored
Merge pull request #308163 from RoseHJM/mdb-auto-update-02
MDB - further auto-build updates
2 parents 49ca41f + 35948b6 commit 9e8b5eb

1 file changed

Lines changed: 73 additions & 101 deletions

File tree

articles/dev-box/how-to-configure-dev-center-imaging.md

Lines changed: 73 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.service: dev-box
77
ms.custom:
88
- ignite-2024
99
ms.topic: how-to
10-
ms.date: 11/10/2025
10+
ms.date: 11/11/2025
1111

1212
#customer intent: As a Dev Center Admin or Project Admin, I want to configure dev box pools to use image definition files so that my development teams can create customized dev boxes.
1313
---
@@ -24,7 +24,6 @@ In this article, you learn how to configure dev center imaging for your developm
2424

2525
To complete the steps in this article, you need:
2626

27-
- A dev center with an existing dev box definition and network connection. If you don't have a dev center, follow the steps in [Quickstart: Configure Microsoft Dev Box](quickstart-configure-dev-box-service.md) to create it.
2827
- A team customization file that you want to use to create a dev box. If you don't have a customization file, see [Configure team customizations](how-to-configure-team-customizations.md).
2928

3029
## Permissions required to configure customizations
@@ -75,107 +74,17 @@ The **Image definitions** pane lists the image definitions that your project can
7574

7675
## Build a reusable image
7776

78-
You can build a reusable image from the customization file to optimize performance and enhance reliability. This image applies to all dev boxes created from the pool. The DevCenter service creates a dev box behind the scenes, applies your customizations, and exports the resulting image to an Azure Compute Gallery in a managed resource group.
77+
You can build a reusable image from an image definition to optimize performance and enhance reliability. The built image applies to all dev boxes created from the pool. The DevCenter service creates a dev box behind the scenes, applies your customizations from the image definition, and exports the resulting image to an Azure Compute Gallery in a managed resource group.
7978

80-
There are two ways to build images: automatic or manual. By default, images are automatically built whenever a new image definition is detected or an existing one is updated. To control when images are built, you can disable automatic image builds and manually trigger builds.
81-
82-
## Configure a dev box pool to use an image definition
83-
84-
To make customizations available to your development teams, configure a dev box pool to use an image definition. Store the customization file (imagedefinition.yaml) in a repository linked to a catalog in your project. When you specify this file as the image definition for the pool, the customizations are applied to new dev boxes.
85-
86-
### Create a dev box pool
87-
88-
In Microsoft Dev Box, a dev box pool is a collection of dev boxes that you manage together. You must have at least one dev box pool before users can create a dev box.
89-
90-
### Pool properties
91-
A dev box pool has the following properties:
92-
93-
| Property | Description |
94-
|----------|-------------|
95-
| **Definition** | Determines the definition used for dev boxes in this pool. You can select an existing dev box definition or image definition when you create a dev box pool.</br>- **Dev Box Definitions** define the base image and size for dev boxes. </br>- **Image definitions** specify the software and configuration for the dev boxes. |
96-
| **Hibernation** | Hibernation is supported when the source image and compute size are both compatible. |
97-
| **Region** | The region where the dev boxes in the pool are deployed. Choose a region close to your expected dev box users for the optimal user experience. |
98-
| **Network connection** | Determines the network that the dev boxes in the pool connect to. </br> - **Microsoft Hosted Network**: You can choose to deploy dev boxes to a Microsoft-hosted network. </br> - **Azure joined network**: You can choose to deploy dev boxes to an Azure joined network that you manage. If you choose to deploy dev boxes to a network that you manage, you must first [configure a network connection](./how-to-configure-network-connections.md). |
99-
| **Licensing** | You can apply Azure Hybrid Benefit licenses to the dev boxes in the pool. Select the checkbox to confirm that your organization has Azure Hybrid Benefit licenses that you want to apply to the dev boxes in this pool. |
100-
| **Roles** | You can assign users to be either Local Administrators or Standard Users on the dev boxes they create. |
101-
| **Access** | Determines how users can access their dev boxes. </br> - **Single Sign-On (SSO)**: Enable single sign-on (SSO) to allow users to sign in to their dev boxes by using their organizational credentials. </br> - **Headless connections**: Enable headless connections to allow developers to open a dev box in Visual Studio Code without a full desktop experience. |
102-
| **Cost controls** | You can configure cost controls to help manage the costs of running dev boxes in the pool. </br> - **Auto-stop schedule**: Set an autostop schedule to automatically stop or hibernate dev boxes at a specified time. </br> - **Hibernate**: Configure dev boxes to hibernate after a specified grace period when no one is connected or when they have never been connected. |
103-
104-
The following steps show you how to create a dev box pool in a project.
105-
106-
If you don't have an available dev center and project, follow the steps in [Quickstart: Configure Microsoft Dev Box](quickstart-configure-dev-box-service.md) to create them.
107-
108-
1. Sign in to the [Azure portal](https://portal.azure.com).
109-
110-
1. In the search box, enter **projects**. In the list of results, select **Projects**.
111-
112-
1. Open the project where you want to create the dev box pool.
113-
114-
:::image type="content" source="./media/quickstart-configure-dev-box-service/select-project.png" alt-text="Screenshot that shows the list of existing projects." lightbox="./media/quickstart-configure-dev-box-service/select-project.png":::
115-
116-
1. Select **Dev box pools**, then select **Create**.
117-
118-
:::image type="content" source="./media/quickstart-configure-dev-box-service/create-pool.png" alt-text="Screenshot of an empty list of dev box pools within a project, along with selections to start creating a pool." lightbox="./media/quickstart-configure-dev-box-service/create-pool.png":::
119-
120-
1. On the **Create a dev box pool** pane, on the **Basics** tab, enter the following values:
121-
122-
| Setting | Value |
123-
|---|---|
124-
| **Name** | Enter a name for the pool. The pool name is visible to developers to select when they're creating dev boxes. The name must be unique within a project. |
125-
| **Definition** | Select an existing dev box definition or image definition. </br>A dev box definition determines the base image and size for the dev boxes that are created. </br>An image definition allows you to specify your required Compute and SKU. |
126-
| **Compute** | Image definitions only. Select the virtual machine size for the dev boxes in this pool. |
127-
| **Storage** | Image definition only. Select the storage size for the dev boxes in this pool. |
128-
| **Hibernation** | Shows whether hibernation is supported or not. |
129-
| **Region** | |
130-
| **Network connection** | 1. Select **Deploy to a Microsoft hosted network**. </br>2. Select your desired deployment region for the dev boxes. Choose a region close to your expected dev box users for the optimal user experience. |
131-
| **Licensing** | Select this checkbox to confirm that your organization has Azure Hybrid Benefit licenses that you want to apply to the dev boxes in this pool. |
132-
133-
:::image type="content" source="./media/how-to-configure-dev-center-imaging/dev-box-pool-create-basics-hibernation-image.png" alt-text="Screenshot of the Basics pane for creating a dev box pool." lightbox="./media/how-to-configure-dev-center-imaging/dev-box-pool-create-basics-hibernation-image.png":::
134-
135-
1. On the **Management** tab, enter the following values:
136-
137-
| Setting | Value |
138-
|---|---|
139-
| **Roles** | |
140-
| **Dev box Creator Privileges** | Select **Local Administrator** or **Standard User**. |
141-
| **Access** | |
142-
| **Enable single sign-on (SSO)** | Select to enable users to sign in to their dev boxes by using their organizational credentials. |
143-
| **Headless connections** | Select to enable developers to open a dev box in Visual Studio Code without a full desktop experience. |
144-
| **Cost controls** | |
145-
| **Auto-stop on schedule** | Select the checkbox to enable an autostop schedule. You can also configure an autostop schedule after the pool is created. |
146-
| **Stop time** | Select a time to shut down all the dev boxes in the pool. Dev boxes that support hibernation hibernate at the specified time. Dev boxes that don't support hibernation shut down. |
147-
| **Time zone** | Select the time zone for the stop time. |
148-
| **Hibernate on disconnect** | Hibernates dev boxes that no one is connected to after a specified grace period. |
149-
| **Grace period** | Hibernates dev boxes that have never been connected to after a specified grace period. |
150-
151-
:::image type="content" source="./media/how-to-configure-dev-center-imaging/dev-box-pool-create-management-hibernation.png" alt-text="Screenshot of the Management pane for creating a dev box pool." lightbox="./media/how-to-configure-dev-center-imaging/dev-box-pool-create-management-hibernation.png":::
152-
153-
1. Select **Create**.
154-
155-
#### Hibernation support for dev boxes
156-
157-
Dev Box supports hibernation when both these conditions are met:
158-
- The source image supports hibernation.
159-
- The compute resources of the dev box pool support hibernation.
160-
161-
If either the image or the pool doesn't support hibernation, the feature isn't available for dev boxes in that pool. If hibernation isn't supported, verify that the image is created with hibernation support and that the pool uses that image.
162-
163-
For more information about Dev Box support for hibernation, see [Configure hibernation in Microsoft Dev Box](how-to-configure-dev-box-hibernation.md).
164-
165-
### Create a dev box by using the developer portal
166-
167-
To verify that customizations are applied correctly, create a dev box in the Microsoft Dev Box developer portal. Follow the steps in [Quickstart: Create and connect to a dev box by using the Microsoft Dev Box developer portal](quickstart-create-dev-box.md), then connect to the newly created dev box and verify that the customizations work as expected.
168-
169-
You can make adjustments to the customization file and create a new dev box to test the changes. When the customizations are correct, you can build a reusable image.
170-
171-
## Configure automatic image builds
172-
173-
By default, images are automatically built for catalogs containing image definitions. This feature helps prevent stale configurations and improves dev box reliability.
79+
There are two ways to build images: automatic or manual. By default, images are automatically built whenever a new image definition is detected or an existing image definition is updated. This feature helps prevent stale configurations and improves dev box reliability. To control when images are built, you can disable automatic image builds and manually trigger builds.
17480

17581
> [!NOTE]
17682
> Image builds incur costs through dev box meters during runtime when customizations are applied.
17783
178-
### Configure automatic image builds for existing catalogs
84+
*Select the tabs below to learn how to configure automatic and manual image builds.*
85+
86+
# [Automatic image builds for existing catalogs](#tab/auto-builds-existing-catalogs)
87+
## Configure automatic image builds for existing catalogs
17988

18089
1. Sign in to the [Azure portal](https://portal.azure.com).
18190

@@ -193,7 +102,10 @@ By default, images are automatically built for catalogs containing image definit
193102

194103
:::image type="content" source="media/how-to-configure-dev-center-imaging/dev-box-add-catalog-auto-build-image.png" alt-text="Screenshot showing the automatically build an image option in catalog settings.":::
195104

196-
### Configure automatic image builds during catalog creation
105+
When automatic image builds are disabled, you must manually trigger image builds when you want to create or update reusable images from your image definitions.
106+
107+
# [Automatic image builds for new catalogs](#tab/auto-builds-new-catalogs)
108+
## Configure automatic image builds during catalog creation
197109

198110
1. Sign in to the [Azure portal](https://portal.azure.com).
199111

@@ -219,6 +131,7 @@ By default, images are automatically built for catalogs containing image definit
219131

220132
When automatic image builds are disabled, you must manually trigger image builds when you want to create or update reusable images from your image definitions.
221133

134+
# [Manual image builds](#tab/manual-image-builds)
222135
## Build an image manually
223136

224137
1. Sign in to the [Azure portal](https://portal.azure.com).
@@ -245,12 +158,71 @@ When automatic image builds are disabled, you must manually trigger image builds
245158

246159
:::image type="content" source="./media/how-to-configure-dev-center-imaging/customizations-image-build-progress-small.png" alt-text="Screenshot of the pane that lists image definitions, with the in-progress status highlighted for a selected image definition." lightbox="./media/how-to-configure-dev-center-imaging/customizations-image-build-progress.png":::
247160

161+
When the build finishes successfully, the dev box pool automatically uses the built image for new dev boxes. You don't need extra configuration to assign the image to the pool. You can now create dev boxes from the pool with the customizations applied.
162+
163+
---
164+
248165
During the image build process, Dev Box creates a temporary storage account in your subscription to store a snapshot. This storage account doesn't allow anonymous blob access and can only be accessed by identities with Storage Blob Reader access. The storage account must be accessible from public networks so the Dev Box service can export your snapshot. If you have Azure policies that block the creation of storage accounts with public network access, create an exception for the subscription that your DevCenter project is in.
249166

250167
> [!IMPORTANT]
251-
> When you're optimizing your image definition into an image, a dev box is created to run your customization file and generate an image. During this process, the dev box is connected to a virtual network that Microsoft manages. Use the [network configuration](./reference-dev-box-customizations.md#networkconnection) capability in image definitions for tasks that need access to on-premises or private resources to ensure that image generation is successful.
168+
> When an image is built from an image definition, a dev box is created to apply all the customizations and generate an image. By default, if no custom network is configured at the image definition level, the dev box is connected to a virtual network that Microsoft manages. Use the [network configuration](./reference-dev-box-customizations.md#networkconnection) property in image definitions for tasks that need access to on-premises or private resources to ensure that image generation is successful.
169+
170+
## Configure a dev box pool to use an image definition
171+
172+
To make customizations available to your development teams, configure a dev box pool to use an image definition. Store the customization file (imagedefinition.yaml) in a repository linked to a catalog in your project. When you specify the image definition for the pool, the customizations are applied to new dev boxes.
173+
174+
### Create a dev box pool
175+
176+
In Microsoft Dev Box, a dev box pool is a collection of dev boxes that you manage together. You must have at least one dev box pool before users can create a dev box.
177+
178+
The following steps show you how to create a dev box pool in a project.
179+
180+
If you don't have an available dev center and project, follow the steps in [Quickstart: Configure Microsoft Dev Box](quickstart-configure-dev-box-service.md) to create them.
181+
182+
1. Sign in to the [Azure portal](https://portal.azure.com).
183+
184+
1. In the search box, enter **projects**. In the list of results, select **Projects**.
185+
186+
1. Open the project where you want to create the dev box pool.
187+
188+
:::image type="content" source="./media/quickstart-configure-dev-box-service/select-project.png" alt-text="Screenshot that shows the list of existing projects." lightbox="./media/quickstart-configure-dev-box-service/select-project.png":::
189+
190+
1. Select **Dev box pools**, then select **Create**.
191+
192+
:::image type="content" source="./media/quickstart-configure-dev-box-service/create-pool.png" alt-text="Screenshot of an empty list of dev box pools within a project, along with selections to start creating a pool." lightbox="./media/quickstart-configure-dev-box-service/create-pool.png":::
193+
194+
1. On the **Create a dev box pool** pane, on the **Basics** tab, enter the following values:
195+
196+
| Setting | Value |
197+
|---|---|
198+
| **Name** | Enter a name for the pool. The pool name is visible to developers to select when they're creating dev boxes. The name must be unique within a project. |
199+
| **Definition** | Select an **Image definition**. |
200+
| **Compute** | Select the virtual machine size for the dev boxes in this pool. |
201+
| **Storage** | Select the storage size for the dev boxes in this pool. |
202+
| **Hibernation** | Shows whether hibernation is supported or not. |
203+
| **Region** | |
204+
| **Network connection** | 1. Select **Deploy to a Microsoft hosted network**. </br>2. Select your desired deployment region for the dev boxes. Choose a region close to your expected dev box users for the optimal user experience. |
205+
| **Licensing** | Select this checkbox to confirm that your organization has Azure Hybrid Benefit licenses that you want to apply to the dev boxes in this pool. |
206+
207+
:::image type="content" source="./media/how-to-configure-dev-center-imaging/dev-box-pool-create-basics-hibernation-image.png" alt-text="Screenshot of the Basics pane for creating a dev box pool." lightbox="./media/how-to-configure-dev-center-imaging/dev-box-pool-create-basics-hibernation-image.png":::
208+
209+
1. Select **Create**.
210+
211+
#### Hibernation support for dev boxes
212+
213+
Dev Box supports hibernation when both these conditions are met:
214+
- The source image defined in the image definition supports hibernation.
215+
- The compute resources of the dev box pool support hibernation.
216+
217+
If either the image or the pool doesn't support hibernation, the feature isn't available for dev boxes in that pool. If hibernation isn't supported, verify that the base image specified in your image definition is created with hibernation support and that the pool uses that image definition.
218+
219+
For more information about Dev Box support for hibernation, see [Configure hibernation in Microsoft Dev Box](how-to-configure-dev-box-hibernation.md).
220+
221+
### Create a dev box by using the developer portal
222+
223+
To verify that customizations are applied correctly, create a dev box in the Microsoft Dev Box developer portal. Follow the steps in [Quickstart: Create and connect to a dev box by using the Microsoft Dev Box developer portal](quickstart-create-dev-box.md), then connect to the newly created dev box and verify that the customizations work as expected.
252224

253-
When the build finishes successfully, the dev box pool automatically uses the image for new dev boxes. You don't need extra configuration to assign the image to the pool. You can now create dev boxes from the pool with the customizations applied.
225+
You can make adjustments to the image definition and create a new dev box to test the changes. When the customizations are correct, you can build a reusable image from the image definition.
254226

255227
## Related content
256228

0 commit comments

Comments
 (0)