Edit

Share via


Configure dev center imaging

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:

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.

Configure automatic image builds for existing catalogs

  1. Sign in to the Azure portal.

  2. In the search box, enter projects. In the list of results, select Projects.

  3. Open the project that contains the catalog you want to configure.

  4. On the left menu, select Catalogs.

  5. From the list of catalogs, select the catalog that contains image definitions.

  6. 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.

  7. 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.

    Screenshot showing the automatically build an image option in catalog settings.

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.