Skip to content

tomvo12/demo-images

 
 

Repository files navigation

Microsoft DevBox Custom Images Demo Repository

This repository contains examples and CI/CD pipelines to build custom images for Microsoft DevBox.

Structure

Images

Packer

CI/CD Pipelines

Config
Factory
Schemas
Scripts
Templates
Artifacts
Local Development & Build

📷 Images

Every folder named xxxBox represents a custom image for Microsoft DevBox. The folder contains the following files:

image.json

The image.json file is the main configuration file for the image. Here you can find an example or template for the image.json file.

DevDrive

A DevDrive can be mounted into a DevBox. It uses not NTFS but ReFS to improve performance. click for more information

Image specific artifacts

Files and directory inside of this folder are copied to the Packer VM before any package of pre/post script is executed. Please be careful with large files. Communication to the Packer VM is using WinRM which is not a high speed tool when it comes to copying files (especially larger ones). more

Large size artifacts

In case you need to upload large files to the Packer VM please rely on the resolve artifacts feature of this build pipeline. Instead of placing a large artifact file in this folder use a Windows shortcut, pointing to the download URL of the file. The name of the Windows shortcut file (plus the default extension '.url' for Windows shortcuts) must contain the name of the file after downloading.

largefile.zip.url --> [download] --> largefile.zip

Resolving these shortcut files will happen after the artifacts upload.

Downloading secrets for KeyVault

The same approach used for large size artifacts can be used to download sensitive files stored within a Azure KeyVault as BASE64 encoded secret. Use the secret identifier as the target URL of the Windows shortcut file.

Packer

CI/CD Pipelines

GitHub Actions

Azure DevOps Pipelines

Config

Factory

Schemas

In _schemas you can find the JSON schema files for the image.json, aliases, defaults, factory and general definitions.

Scripts

Templates

Artifacts

In _artifacts you can find a devbox.bgi. A .bgi (BgInfo Configuration File) file keeps track of computer configuration information and stores custom settings chosen by the user

Local Development & Build

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 56.3%
  • HCL 29.6%
  • Bicep 9.6%
  • Shell 4.2%
  • Dockerfile 0.3%