azure-deploy

Execute Azure deployments for prepared applications using azd, Terraform, Bicep, and Azure CLI.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/merceralex397-collab/alex-stack --skill azure-deploy-merceralex397-collab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: azure-deploy
Source: https://github.com/merceralex397-collab/alex-stack/tree/main/dev/azure-profile/azure-skills-main/azure-skills-main/.github/plugins/azure-skills/skills/azure-deploy
Command: npx skills add https://github.com/merceralex397-collab/alex-stack --skill azure-deploy-merceralex397-collab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Deploying an already-prepared application to Azure involves many failure-prone steps: confirming subscriptions and regions, resolving resource group and tag conflicts, waiting for RBAC propagation, and recovering from errors like Container App revision timeouts. This Skill orchestrates that entire execution phase with built-in error recovery so deployments complete reliably. ## Core Features & Use Cases - Guided Deployment Execution: Runs azd up, azd deploy, terraform apply, and az deployment commands through a structured pipeline with a mandatory pre-deploy checklist covering subscription, location, resource group, and tag conflict checks. - RBAC Health Checks: Verifies AcrPull role propagation for Container Apps pulling from ACR and performs live role verification against provisioned Azure resources after deployment. - Error Recovery: Provides recipe-specific troubleshooting for AZD, Terraform, Bicep, Azure CLI, and CI/CD failures, including RBAC propagation timeouts, principal type mismatches, and missing container registry variables. - Use Case: After preparing and validating an application with azure-prepare and azure-validate, invoke this Skill to push the app to production, then receive fully-qualified HTTPS endpoint URLs for the deployed services. ## Quick Start Run the deployment for my prepared Azure application and show me the live endpoint URLs when it finishes.

Frequently Asked Questions about azure-deploy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a prepared application to Azure with azd?▼

Confirm the deployment plan exists with Validated status, complete the pre-deploy checklist to verify subscription and location, then run azd provision followed by azd deploy. For Container Apps using ACR with managed identity, verify AcrPull role propagation between the two commands.

What is the difference between azd up and azd deploy?▼

azd up combines provisioning and deployment in one step, while azd deploy only pushes application code to existing infrastructure. For Container Apps pulling from ACR with managed identity, use azd provision and azd deploy separately so the AcrPull role has time to propagate.

Can I use Terraform instead of Bicep for Azure deployment?▼

Yes, the Terraform recipe supports terraform plan and terraform apply with variable files or TF_VAR environment variables. Note that azd does not interpolate Go-style {{ .Env.* }} templates in .tfvars.json files, so use ${VAR} syntax instead.

Why does my Container App revision time out during deployment?▼

The timeout occurs because the AcrPull role assignment for the Container App's managed identity has not propagated yet, which can take one to five minutes. Verify the role exists with az role assignment list, wait for propagation, then retry azd deploy.

When should I not use this deployment skill?▼

Do not use it when creating a new application or generating infrastructure code, since it only executes deployments for already-prepared projects. Use azure-prepare to scaffold applications and azure-validate to verify the plan before deploying.

How do I fix PrincipalType mismatch errors in CI/CD deployments?▼

The error happens when Bicep templates hardcode principalType 'User' but the deploying identity is a service principal. Set allowUserIdentityPrincipal to false in the storageEndpointConfig variable in infra/main.bicep rather than clearing AZURE_PRINCIPAL_ID.