Loading...

Create ready-to-code dev boxes using config as code – now in preview

Create ready-to-code dev boxes using config as code – now in preview

Overview

At the Microsoft Build conference last week, my team shared that this July we’ll ship the general availability (GA) release of Microsoft Dev Box - our service for secure, ready-to-code cloud hosted workstations. Looking ahead to what’s next, today I’m sharing with you an invitation to try out a new config-as-code customization feature that we’re adding to Microsoft Dev Box. With the introduction of features that revolve around a devbox.yaml file, the process of defining what is needed on a dev box is as easy as submitting a code change.

 

Today, Microsoft Dev Box uses VM images to define ready-to-code dev boxes; customization features build on top of this, enabling devs to self-serve customize their machines by adding a few additional pieces of software or configuration. Developers can create devbox.yaml files that specify additional configuration on top of a VM base image and IT/Dev Infrastructure teams have the ability to curate the software and settings that developers can use. This combination helps teams ensure their dev boxes meet the unique compliance requirements of their organization. Read on to learn more and sign-up for the Private Preview 1 release.

 

Sign-up for Customizations Private Preview

 

Authoring a Dev Box

Let me introduce you to devbox.yaml, the new file format you’ll use to customize a dev box:

 

name: contoso-widgets image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2 hostInformation: general_a_8c32gb256ssd_v1 setupTasks: - task: choco inputs: install: azd - task: install-vs-extension inputs: extension: GitHub.copilotvs

 

First, you define a base VM image to use – here we’re using a default Visual Studio image that is included with Microsoft Dev Box; often you’ll use some base images built by your IT or Dev Infrastructure team. You also choose the combination of storage, CPU, and memory you want to use for the host. These are the same sorts of settings you can configure with the GA release of Microsoft Dev Box.

 

Next, we get into the core of the new customization functionality – setupTasks. This is where you’ll specify additional software to install, and settings to apply when creating a new VM. In this example, I’m using a choco task to install the Azure Developer CLI using the Chocolatey package manager. I’m also adding the GitHub Copilot extension to Visual Studio 2022.

 

Finally, this devbox.yaml file can be checked into a Git repo in either GitHub or Azure DevOps, and then made available to the dev team as a pool for creating new VMs. In our initial Private Preview 1, these repos are managed centrally for all Projects in a Dev Center. In upcoming previews, we’ll make it possible to store these devbox.yaml files alongside your project source code.

 

Tasks, the building blocks of a Dev Box

Tasks, as you just saw, are like building blocks for your Dev Box. You can combine them to create a development VM that’s unique to your team. To start, we include a default set of tasks to help with common setup steps:

  • Installing software with the WinGet or Chocolatey package managers
  • Setting common OS settings like enabling Windows Features
  • Configuring applications like installing Visual Studio extensions

Companies and development teams adopting Microsoft Dev Box can then add on top of this default set, or even choose to replace the set completely to fit their requirements.

 

Using tasks to help meet compliance needs

Every company is unique, and many have specific requirements around data use, privacy, and governmental compliance. Customization tasks help engineering organizations curate and define the types of installation and configuration settings that development teams can safely use to remain compliant. Think of it as pre-assembling the kits of building blocks that teams can use to build their dev box VMs.

 

Using WinGet configuration to customize your dev box

Last week, the Windows team announced a wonderful new feature now in preview – WinGet Configuration. Using WinGet Configuration, you can also use a config-as-code approach to define the unique sets of software and configuration settings required to get a Windows environment in a ready-to-code state for repos that you work on. The configuration files can also be used to setup a VM in Microsoft Dev Box, by leveraging a WinGet task that we include with the default set of setupTasks mentioned earlier:

 

task: winget inputs: configure: "projectConfiguration.dsc.yaml"

 

Sign-up for the Private Preview

Our Customizations Private Preview 1 release is coming soon for Microsoft Dev Box users to try out and share your feedback. You can sign-up now and we’ll let you know as soon as it’s ready to use. If you aren’t an existing Microsoft Dev Box user, you can still sign-up and then follow our Getting Started instructions to setup your own instance of Microsoft Dev Box so you can try out the new Preview release once it’s ready.

 

Sign-up for Customizations Private Preview

Published on:

Learn more
Azure Developer Community Blog articles
Azure Developer Community Blog articles

Azure Developer Community Blog articles

Share post:

Related posts

This Month in Azure Static Web Apps | 09/2024

    We are back with another edition of the Azure Static Web Apps Community! :party_popper:   September was yet another month ...

1 year ago

GitHub Copilot for Azure: 6 Must-Try Features

As developers, we are constantly seeking tools that streamline our workflows and boost productivity. … Enter GitHub Copilot for Azure, now in ...

1 year ago

Responsible AI Mitigation Layers

Generative AI is increasingly being used in various kinds of systems to augment humans and infuse intelligent behavior into existing and new a...

1 year ago

Streamline Your Azure Workflow: Introducing GitHub Copilot for Azure in VS Code

I'm excited to announce the public preview of GitHub Copilot for Azure - a new addition to your toolkit that seamlessly integrates with G...

1 year ago

Build Intelligent Apps Code-First with Prompty and Azure AI

      Building Generative AI applications can feel daunting for traditional app developers. What does the end-to-end applicati...

1 year ago

Certificación AI-900 (Fundamentos de IA) con Chicas en IA

La inteligencia artificial ha llegado para quedarse, ¡y más aún con la revolucionaria IA generativa! Para ayudar a los profesionales a especia...

1 year ago

Get certified with Learn Live GitHub series!

GitHub Universe is coming, and Microsoft and GitHub are partnering to offer a new special Learn Live series in Brazilian Portuguese, English a...

1 year ago

Certifícate con Learn Live GitHub en Español

Microsoft y GitHub se han unido para ofrecer una nueva serie especial de Learn Live en inglés y español: GitHub 2024. Del 10 al 24 de Octubre,...

1 year ago

Evaluating generative AI: Best practices for developers

As a developer working with generative AI, you've likely marveled at the impressive outputs your models can produce. But how do you ensure the...

1 year ago

Introducing Azure Product Retirement Livestreams

The Azure Retirements team, in collaboration with key partner groups, is excited t...

1 year ago

Newsletter

Get the latest Dynamics 365 and Power Platform content in your inbox

A curated digest of community blogs, product news, videos, and podcasts — delivered without the noise.

Weekly updates Unsubscribe anytime Fresh community picks
We use your email only for the newsletter and you can unsubscribe at any time.
By subscribing, you agree to the privacy policy.