Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Using a customization file simplifies the creation of dev boxes for your team. With dev box customizations, you can create a shared team customization by creating a file called an image definition. You can then create a reusable image from this image definition to optimize customizations and save time during dev box creation.
Images are automatically built by default for catalogs containing image definitions whenever a new image definition is detected or an existing one is updated. While automatic builds help prevent stale configurations and improve dev box reliability, they incur costs through dev box meters during runtime. During the image build process, a dev box is created to run your customization file and generate an image, which incurs costs based on the compute resources and time required to build the image. You can disable automatic image builds during catalog creation or afterward via catalog settings.
In this article, you learn how to configure dev center imaging for your development teams.
Prerequisites
To complete the steps in this article, you need:
- A dev center with a project and dev box pool. If you don't have one, see Configure Microsoft Dev Box.
- A catalog attached to your project with image definitions. If you don't have a catalog, see Add and manage catalogs.
- A team customization file (image definition) in your catalog. If you don't have one, see Configure team customizations.
For permissions required to configure customizations, see Permissions for customizations.
Build a reusable image
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.
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.
Note
Image builds incur costs through dev box meters during runtime when customizations are applied.
Select the tabs below to learn how to configure automatic and manual image builds.
- Automatic image builds for existing catalogs
- Automatic image builds for new catalogs
- Manual image builds
Configure automatic image builds for existing catalogs
Sign in to the Azure portal.
In the search box, enter projects. In the list of results, select Projects.
Open the project that contains the catalog you want to configure.
On the left menu, select Catalogs.
From the list of catalogs, select the catalog that contains image definitions.
On the catalog details page, enable or disable the use of automatic image builds by using the Automatically build an image checkbox.
We recommend enabling auto-builds to take advantage of the reliability and performance improvements Dev Center imaging provides.Select Save to apply your changes. The auto-build capability flattens customizations into a reusable image that dramatically enhances dev box creation performance and reliability.
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.
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.
Important
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 property in image definitions for tasks that need access to on-premises or private resources to ensure that image generation is successful.
Configure a dev box pool to use an image definition
To use an image definition, you must configure a dev box pool to reference it. When developers create dev boxes from the pool, the customizations from the image definition are applied automatically.
For detailed steps on creating a dev box pool with an image definition, see Configure a dev box pool to use an image definition.
Hibernation support
Dev Box supports hibernation when both these conditions are met:
- The source image defined in the image definition supports hibernation.
- The compute resources of the dev box pool support hibernation.
For more information, see Configure hibernation in Microsoft Dev Box.