Deploy a web app from GitHub, configure environment variables, use deployment slots for staging, and add a custom domain.
# Create an App Service Plan (the VM running your app) az appservice plan create \ --name myapp-plan --resource-group myapp-rg \ --sku B1 --is-linux # Create the web app az webapp create \ --resource-group myapp-rg --plan myapp-plan \ --name my-unique-app-name \ --runtime 'NODE:20-lts' # Deploy from GitHub az webapp deployment source config \ --name my-unique-app-name --resource-group myapp-rg \ --repo-url https://github.com/you/your-repo \ --branch main --manual-integration
# Set app settings (environment variables)
az webapp config appsettings set \
--resource-group myapp-rg --name my-unique-app-name \
--settings \
DATABASE_URL='...' \
API_KEY='...' \
NODE_ENV='production'
# Create a staging slot az webapp deployment slot create \ --name my-unique-app-name --resource-group myapp-rg \ --slot staging # Deploy to staging first az webapp deployment source config \ --name my-unique-app-name --resource-group myapp-rg \ --slot staging --repo-url ... --branch main # Swap staging to production (zero-downtime) az webapp deployment slot swap \ --name my-unique-app-name --resource-group myapp-rg \ --slot staging --target-slot production
The foundations from today carry directly into Day 5. In the next session the focus shifts to Day 5 — building directly on everything covered here.
Before moving on, verify you can answer these without looking:
Live Bootcamp
Learn this in person — 2 days, 5 cities
Thu–Fri sessions in Denver, Los Angeles, New York, Chicago, and Dallas. $1,490 per seat. June–October 2026.
Reserve Your Seat →