CAMPUX Cloud Bootcamp Labs · Start Here ← All labs
Start Here · Do this once
~15 min, one time
then every lab just works
Before Your First Lab

Set up your machine once.

Free Azure account, the Azure CLI, Terraform for the IaC labs, then az login. Five commands and you're done — every lab after this is just "open a terminal and go." No terminal? Jump to Cloud Shell at the end.

01

Get a free Azure account

The labs build real resources in a real subscription. Microsoft gives you one: a starter credit plus always-free services — enough for every lab, each of which tears down at the end.

Sign up: azure.microsoft.com/free — you end up with a subscription (the billing container everything lives in).

required for every labuse a personal sub, not your employer's
02

Open a terminal — a Bash one

Every lab is written in Bash — the commands use Bash variables, loops, and <<EOF here-docs. Run them in a Bash shell so they work exactly as written:

macOS / Linux   your Terminal is already Bash-compatible — nothing to do.
Windows         install Git (it bundles "Git Bash"), then use Git Bash — not PowerShell:
                  winget install --exact --id Git.Git
              then open Git Bash from the Start menu and work there.

The winget installs below can run from PowerShell, but run the actual lab commands in Git Bash. No Git? WSL or Azure Cloud Shell (bottom of page) are Bash too.

why PowerShell can't read Bash syntax — NAME="x", $RANDOM, and cat > file <<EOF all fail there. Git Bash, WSL, and Cloud Shell run every lab unchanged.

One Git Bash quirk, already handled: Git Bash rewrites any argument starting with / into a Windows path, which breaks Azure resource IDs (a --scope /subscriptions/… then fails with MissingSubscription). Every lab defuses this with export MSYS_NO_PATHCONV=1 as its first line — leave that line in place and it just works. (On macOS/Linux that line does nothing, so it's safe everywhere.)

03

Install the Azure CLI

The az command every lab uses. One line for your OS.

Windows · winget
winget install --exact --id Microsoft.AzureCLI
macOS · Homebrew
brew update && brew install azure-cli
Linux · Debian / Ubuntu
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

verify az version -> prints 2.x. Not found? Reopen the terminal so az is on PATH. No winget? MSI at aka.ms/installazurecliwindows.

04

Sign in

Opens a browser, then hands control back to the terminal. Set the subscription if you have more than one.

az login
az account show --query name -o tsv                    # which sub am I in?
az account set --subscription "<id-or-name>"            # switch if needed

verify az account show -> prints your subscription as JSON. Signed in.

05

Install Terraform — IaC labs only

Skip until a lab asks for it. The Bicep and CLI labs don't need it.

Windows · winget
winget install --exact --id Hashicorp.Terraform
macOS · Homebrew
brew tap hashicorp/tap && brew install hashicorp/tap/terraform
Linux · Debian / Ubuntu
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

verify terraform -version -> Terraform v1.x. Python (AI labs) is preinstalled on macOS/Linux; on Windows: winget install --exact --id Python.Python.3.12.

06

Make a workspace you'll remember

Before you clone anything: make one folder for all the labs, somewhere you'll find again — your home directory or Documents. Note the path. Every lab clones or builds here, so you always know where your work is.

cd ~                          # home (Windows: cd $HOME) — or wherever you'll remember
mkdir azure-labs              # any name you'll recognise later
cd azure-labs
pwd                           # <- note this path. this is home base.

verify pwd prints your folder's full path. Remember it — you'll cd back here at the start of every lab, then run its git clone.

No installs? Use Azure Cloud Shell Local is cleaner and mirrors the job — but shell.azure.com (choose Bash) is a browser terminal with az, terraform, python, and git preinstalled and already signed in. Zero setup; run every lab as-is, no az login needed. Either path reads the same.