Subchapter 28.5
references/recipes/azcli/README.mdMarkdown3 KBView on GitHub
./infra/main.bicep existsvalidate-deployment scriptThe core validation checks are a fixed, deterministic sequence. Run the shared
validate-deployment helper instead of executing and parsing each command by hand. It
confirms the Azure CLI is installed and authenticated, compiles the Bicep template
(az bicep build), validates it against the target scope (az deployment ... validate),
and runs a what-if preview — printing a compact PASS/FAIL summary plus a what-if change
count (Create/Modify/Delete).
../scripts/validate-deployment.sh../scripts/validate-deployment.ps1Subscription scope:
../scripts/validate-deployment.sh --scope sub --location <location>../scripts/validate-deployment.ps1 -Scope sub -Location <location>Resource group scope:
../scripts/validate-deployment.sh --scope group --resource-group <rg-name>../scripts/validate-deployment.ps1 -Scope group -ResourceGroup <rg-name>Defaults: --template ./infra/main.bicep, --parameters ./infra/main.parameters.json
(skipped if absent). Pass --subscription <id> to target a specific subscription.
Interpreting results:
OVERALL: PASS — all five checks passed; record the summary in Section 7 (Validation Proof).FAIL — the script prints the failing command’s error. Remediate:
az login, then az account set --subscription <id>.mcp_azure_mcp_extension_cli_install(cli-type: "az").Before building, validate the Docker build context:
Dockerfile in ./src/<service>npm ci, verify package-lock.json exists in the same directorypackage-lock.json is missing, generate it:cd ./src/<service>
npm install --package-lock-onlyThen build:
docker build -t <image>:test ./src/<service>See Policy Validation Guide for instructions on retrieving and validating Azure policies for your subscription.
All checks pass → azure-deploy