Skip to content

Dev Box for Cloud-akademiet workshop participants

Notifications You must be signed in to change notification settings

sopra-steria-norge/cloud-akademiet-devbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

Cloud-akademiet Dev Box

This repository contains the necessary configuration to create Microsoft Dev Boxes to use as developer workstations for workshop participants in Cloud-akademiet.

👉 If you are an end user jump directly down to end user usage.

Admin Usage

This section is inteded for those who are deploying and managing Dev Center, Dev Box definitions and Dev Box pools.

Prerequisities

Deployment

  1. Configure parameters in main.bicepparam and save the file
  2. Sign into the tenant by running Connect-AzAccount -Tenant <tenant-id> in PowerShell and ensure you select the appropriate subscription for deployment.
  3. Run the deployment with:
New-AzDeployment -Name "devbox-$(get-date -Format 'ddMMyy-HHmmss')" -Location 'westeurope' -TemplateFile './bicep/main.bicep' -TemplateParameterFile './bicep/main.bicepparam'

Note: You can optionally replace Azure PowerShell with Azure CLI to deploy using az login and az deployment sub create.

About the Dev Box VMs

The Dev Box definitions are set up as specified in main.bicepparam with:

  • Windows 11 with Visual Studio 2022 image
  • 8 vCPU, 32 GB RAM, 256 GB SSD storage
  • Single-sign on enabled
  • Hibernate support with automatic hibernation after 60m of inactivity
  • Users are given local administrator

The VMs have by default this list of available software preinstalled.

Additional customizations are added to the Dev Box by applying the customization file upon provisioning. The only customizations currently available to these Dev Boxes are the ones defined in the default catalog which is synced to the Dev Center.

End User Usage

This section is inteded for those who are provided access to provision their own Dev Boxes for development.

Create a new Dev Box

  1. Sign into the Developer Portal: https://devportal.microsoft.com/
  2. Press + New and select New Dev Box
  3. Give the Dev Box a name, e.g. devbox-<firstname>
  4. Select Apply customizations and then press Continue
  5. Upload customization file
    1. Download this file to a local yaml file on your computer
    2. Select the file for upload and press Validate
  6. Select Create to begin provisioning your Dev Box

For additional guide, see the official docs.

Use your Dev Box

  1. Sign into the Developer Portal: https://devportal.microsoft.com/
  2. Press Open in RDP Client on the Dev Box
  3. If you do not have the Remote Desktop App, press the link to download and install this app
  4. Press Connect to connect to your Dev Box

For additional guide, see the official docs

Note: After initial login you need to update WSL and install Docker Desktop. See the REQUIRED steps in this script for the commands needed. Update 20.09.2024: Await installation of Docker, due to licensing. We are working on veryfing an alternative (likely Podman/Rancher).

Tips and tricks

  • Restart machine: In case of required restarts after installations or updates you can restart via Windows menu after connecting, wait a few minutes and then connect again. You can also restart the machine via the Developer Portal.
  • Install missing software: Use winget to install software. See list of required packages in this script. You can search all available software for Winget here.
  • Update software: Use winget upgrade to upgrade Software. Some examples are listed here. You can also run Windows Update in settings to trigger system updates.
  • Hibernation: The machine is set to hibernate after 60m of inactivity. This is to ensure cost efficiency and not to pay for the machine while it is not in use.
  • Visual Studio versions: The machine already have Visual Studio Professional 2022 installed. If you do not have an license and want to use the community version this will show as "Visual Studio 2022 - Community" in the applications overview.

Contributing

Feel free to contribute to this repo. Contact @matsest if you have any questions.

Learn more