Azure Developer CLI (azd) – May 2023 Release
We’re pleased to announce that the May 2023 release (
0.9.0-beta.1) of the Azure Developer CLI (
azd) is now available. You can learn about how to get started with the Azure Developer CLI by visiting our Dev Hub.
This release includes the following features and improvements:
- Support for Azure Spring Apps (azure-dev#1808)
- Improvements to Azure Container Apps deployments (azure-dev#1989)
- UX improvements to
- Basic starter template support with
There isn’t a community call this month but there are many sessions that showcase the Azure Developer CLI at Microsoft Build that you should watch:
- Build intelligent, cloud-native apps with containers and Azure OpenAI (speakers: Brendan Burns, Scott Hunter, Mandy Whaley)
- Codespaces to Azure in minutes with the Azure Developer CLI (speaker: Savannah Ostrowski)
See you all next month! Now, let’s get into what’s new in version
Support for Azure Spring Apps
We’re excited to announce that the Azure Developer CLI now supports Azure Spring Apps. If you’re unfamiliar, Azure Spring Apps is a service that makes it easy for developers to deploy Spring Boot apps on Azure, without code changes.
To complement our new Azure Spring Apps support, some new templates have been authored to show how you can get up and running quickly with the service:
Azure Spring Apps support for
azd is currently in our alpha phase.
To use a template that targets Azure Spring Apps as a host, you should first enable it as a feature.
azd config set alpha.springapps on
We plan to graduate Azure Spring Apps support to beta stage when we have received sufficient user feedback around the experience. Our team would also like to extend thanks to the Azure Spring Apps team for their partnership in delivering this new support for Java developers!
If you have any feedback or questions, let us know on the Azure Developer CLI repo.
Improvements for Azure Container Apps deployments
In this release, we’ve made changes to our Azure Container Apps implementation inline with the other service targets that the Azure Developer CLI supports. Previously, applications using Azure Container Apps performed an extra
provision operation to modify container images during deployment. This extra internal
provision step introduced some unnecessary complexity.
These changes should yield improved provisioning and deployment speeds for applications using Azure Container Apps as a target host.
Breaking change for applications targeting Azure Container Apps
This update introduces a breaking change for developers using Azure Container Apps as a target host for their application where the Azure Container Apps resources aren’t created as part of the initial
azd provision. We suspect that the number of developers impacted by this change is minimal.
If these changes affect your application, there’s a workaround. You can move your Azure Container Apps resources from their own Infrastructure as Code module (in Bicep or Terraform) into the
main.tf in the
infra/ of your project.
UX improvements to
Over the past several releases of the CLI, we have been working to make our command output more consistent. In this release, we’re excited to ship an improved user experience for our
azd down command.
Basic starter template support with
To better support developers looking to create their own
azd-compatible templates, we’ve added some new starter template options to
azd init when no
-t flag is passed in. Previously, if you invoked
azd init without specifying a template, you were provided with options to use an empty template or one of the hardcoded templates that the
azd team has authored. As of this release,
Starter - Bicep (azd-bicep-starter) and
Starter - Terraform (azd-terraform-starter) have been added to the list of templates.
These templates contain all the right files to help get you started:
azure.yamlfile with examples and comments to guide you
- Valid Infrastructure as Code files (in either Bicep or Terraform, depending on the starter selected) that sets up
azdenvironment tagging and an empty resource group
- Starter CI/CD workflows for GitHub Actions (
.github/) and Azure Pipelines (
.azdo/) so you can test against real Azure resources on every commit
.devcontainer/configurations for editing the application in a Dev Container/Codespaces (includes installing
azdand all the right extensions for cloud native development!)
Additionally, template names have been updated in
azd init or
azd template list to be more descriptive of the local application stack to help you identify templates that might be a good blueprint for your application’s cloud infrastructure.
New Azure Developer CLI templates
Over the last month, we’ve had some great new templates added to the awesome-azd gallery! Thank you to our open source contributors!
- Azure Content Team
- Reliable Web App Pattern for .NET – A multi-region enterprise web app with a 99.9% SLO and a focus on 12-factor apps and the well-architected framework.
- Django on Azure Container Apps with PostgreSQL – A Space Tourism application written with Django deployed via Azure Container Apps that uses Azure PostgreSQL Flexible Server and Key Vault secret management.
- FastAPI on Azure Container Apps – A simple JSON API using the Python FastAPI app framework, designed for deployment on Azure Container Apps. Includes autoconfiguration of gunicorn with uvicorn worker count based on CPUs available.
Other changes and enhancements
We have also added smaller enhancements and fixed issues requested by users that should improve your experience working with the Azure Developer CLI. Some notable changes include:
- env variables created in
preprovisionscript aren’t passed to provision (azure-dev#1714)
- Unhelpful error message on
azd pipeline config(azure-dev#1420)
azd pipeline config– GitHub provider – Federated credential – 409 conflict (azure-dev#1482)
- If no environment has been created yet,
azd show --output jsonasks for one to be named, blocking forever if it’s executed as a background process (azure-dev#1688)
- Error message on Keyvault isn’t actionable (azure-dev#1431)
- Login token expires while executing in a GitHub Action workflow in the
- Python CLI not installed, when Python is installed. (azure-dev#1623)
- Support other Java archive files(
- Use respective – update out of date version instructions(Windows, Linux, macOS) (azure-dev#1793)
azd env refresh] requires two runs to work (azure-dev#1956)
aks-managed-cluster.bicepto deal with AKS Breaking Change (azure-dev#1814)
azd pipeline configAzure Dev Provision fail in pipeline for
- JSON validation for OS specific hooks (azure-dev#1552)
- [ARM64] bicep binary doesn’t run on Apple Silicon macOS (azure-dev#1560)
azd pipelineprovider] Hard to know the valid strings for
- Breaking: Don’t default language to
- When I run
azd initin the wrong place, it by default dumps many files there before I realize it’s the wrong place.] (azure-dev#1638)
GitHub.vscode-github-actionsto the devcontainer.json for Codespaces (azure-dev#2014)
- Rename ToDo templates to be more descriptive of local application stack (azure-dev#2073)
- Failed to execute
azd pipeline config --provider azdoon Codespaces (azure-dev#1993)
Try out these new improvements by installing the Azure Developer CLI!
You can use the Azure Developer CLI from:
- Your terminal of choice on Windows, Linux, or macOS.
- Visual Studio Code or GitHub Codespaces by downloading the extension from the Marketplace, or installing it directly from the extension view (
Xfor macOS) in Visual Studio Code.
- Visual Studio by enabling the preview feature flag. You can learn more about the Azure Developer CLI from our Dev Hub documentation. If you run into any problems or have suggestions, file an issue or start a discussion on Azure Developer CLI repo.