microsoft

Dev Box Ready-To-Code Dev Box images template (opens in new tab)

Microsoft announced Team customizations and imaging for Microsoft Dev Box to make development environments faster to create, more consistent, and easier to maintain. The feature builds on Microsoft’s internal One Engineering System (1ES) “ready to code” environments, already used by more than 35,000 developers. Its central approach is to use reusable templates, automated image builds, and centrally managed improvements to reduce setup time and eliminate environment inconsistencies.

The Challenge of Large-Scale Development Environments

  • Large teams often work with enormous repositories, proprietary or legacy tools, and slow build processes.
  • Many setup steps are shared across teams, but creating and maintaining reusable customizations requires significant effort.
  • Teams also need flexibility for unique requirements without duplicating large amounts of configuration.
  • The 1ES approach addresses this through reusable templates with conditional logic and shared modules.

How 1ES Ready-to-Code Environments Work

  • Templates define common environment requirements while allowing teams to customize:
    • Repositories to clone
    • Build configurations
    • Default tools
    • Additional setup tasks
  • Image artifacts, implemented as scripts or CI/CD tasks, install and configure environment components.
  • Azure Managed Identity provides secure access to required repositories and assets.
  • Azure Bicep modules hide template complexity while allowing reusable infrastructure definitions.
  • Azure Pipelines manage image creation and refreshes, making troubleshooting familiar to Microsoft developers.

Benefits of Team Customizations

  • Security: Images use Managed Identity, approved sources, and validated artifacts.
  • Performance: Dev Drive and security settings are preconfigured for development workloads.
  • Consistency: Smart defaults reduce configuration differences and “works on my machine” problems.
  • Flexibility: Teams can tailor repositories, tools, builds, and other customizations.
  • Maintainability: Shared Bicep modules allow central teams to deliver improvements broadly.
  • Easy updates: Automated Azure Pipelines simplify image refreshes and maintenance.

Testing and Controlled Releases

  • 1ES creates hundreds of Ready-to-Code images for Microsoft teams.
  • Template pull requests are tested with a small set of images covering core features.
  • Before each template release, larger test runs simulate real customer image definitions.
  • Releases are phased through internal dogfooding before wider deployment.
  • Bicep Module Registry tags distinguish release phases and support targeted hotfixes.

Community Sample Template

Microsoft is sharing a simplified version of its internal approach using Azure Image Builder. The sample demonstrates how to create Ready-to-Code images for open-source repositories such as MSBuildSdks, eShop, and Axios.

Key components include:

  • README.md with setup instructions
  • Bicep image definitions for different repository types
  • devbox-image as the main reusable module
  • build_images.yml for Azure DevOps image builds
  • PowerShell artifacts for image configuration

Capabilities of the Sample

  • Clones repositories, restores packages, builds projects, and creates shortcuts.
  • Supports MSBuild and .NET projects with automatic SDK installation.
  • Configures repository and artifact authentication through Managed Identity.
  • Sets up Dev Drive automatically.
  • Uses a Visual Studio-based Azure Marketplace image by default.
  • Installs tools such as VS Code, Visual Studio extensions, Git, Sysinternals, WinGet, and the Azure Artifacts Credential Provider.
  • Applies developer-focused Windows and Defender settings.
  • Supports image chaining, Compute Gallery publishing, and configurable build VM sizing.

The recommended approach is to adopt a reusable, templated image definition rather than maintaining one-off setup scripts. Teams can start with Microsoft’s sample and extend it for their repositories, while Team customizations evolves toward bringing the 1ES capabilities directly into Microsoft Dev Box.