{"id":3177,"date":"2024-09-05T09:39:37","date_gmt":"2024-09-05T16:39:37","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sdk\/?p=3177"},"modified":"2024-09-05T09:39:37","modified_gmt":"2024-09-05T16:39:37","slug":"azure-developer-cli-azd-september-2024","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-developer-cli-azd-september-2024\/","title":{"rendered":"Azure Developer CLI (azd) &#8211; September 2024"},"content":{"rendered":"<p>This post announces that the September 2024 release (version 1.10.0) of the Azure Developer CLI (<code>azd<\/code>) is now available. As always, you can learn about how to get started with the Azure Developer CLI by visiting our <a href=\"https:\/\/aka.ms\/azd\">documentation<\/a>.<\/p>\n<p>Here&#8217;s what&#8217;s new with <code>azd<\/code>:<\/p>\n<ul>\n<li>Remote builds support with Azure Container Registry <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/509\">(azure-dev#509)<\/a><\/li>\n<li>Multiple hooks per event <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/4257\">(azure-dev#4257)<\/a><\/li>\n<li>Add GitHub as template source configuration option <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/4203\">(azure-dev#4203)<\/a><\/li>\n<li>Support for Java Azure Functions <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/4155\">(azure-dev#4155)<\/a><\/li>\n<li>Alpha feature: Deployment stacks <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/4144\">(azure-dev#4144)<\/a><\/li>\n<li>Resource group scoped deployments promoted to beta <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/2995\">(azure-dev#2995)<\/a><\/li>\n<\/ul>\n<h3>Remote builds support with Azure Container Registry<\/h3>\n<p>We&#8217;re making it easier for you to work with Docker and Azure Container Apps (ACA) with the help of Azure Container Registry (ACR). We now support using the ACR remote build feature when your app host is <code>containerapp<\/code>. This means you can now avoid the complexity of using local tooling to build Docker containers. To use this new feature, add the following to the <code>docker<\/code> member of a <code>service<\/code> in your <code>azure.yaml<\/code> file:<\/p>\n<pre><code class=\"language-yaml\">    remoteBuild: true<\/code><\/pre>\n<p>A full example of an <code>azure.yaml<\/code> file using this feature may look like:<\/p>\n<pre><code class=\"language-yaml\">name: yourApp-aca\r\nmetadata:\r\n    template: yourApp-aca@0.0.1-beta\r\nservices:\r\n  api:\r\n    project: .\/src\/api\r\n    language: js\r\n    host: containerapp\r\n    docker:\r\n      remoteBuild: true<\/code><\/pre>\n<h3>Multiple hooks per event<\/h3>\n<p><code>azd<\/code> now offers support for multiple hooks per event. For example, post-provision, you could now run a custom <code>azd<\/code> operation hook and then a more generic script hook. In practice, support for multiple hooks per event looks like:<\/p>\n<pre><code class=\"language-yaml\">name: example-project\r\nservices:\r\n    api:\r\n        project: src\/api\r\n        host: containerapp\r\n        language: ts\r\n        hooks:\r\n            postprovision:\r\n                - shell: sh\r\n                  run: scripts\/postprovision1.sh\r\n                - shell: sh\r\n                  run: scripts\/postprovision2.sh\r\nhooks:\r\n    postprovision:\r\n        - shell: sh\r\n          run: scripts\/postprovision1.sh\r\n        - shell: sh\r\n          run: scripts\/postprovision2.sh<\/code><\/pre>\n<p>We&#8217;re eager to learn what you do with the expanded support! So, feel free to show off what you build in the <a href=\"https:\/\/github.com\/Azure\/azure-dev\/discussions\/categories\/show-and-tell\">show and tell category in our GitHub discussion board<\/a>.<\/p>\n<h3>Add GitHub as template source configuration option<\/h3>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-developer-cli-azd-september-2023-release\/#specify-custom-template-sources-for-azd-init5\">Last September<\/a>, we released the ability to <a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/configure-template-sources\">configure template sources<\/a>. And this September, we&#8217;re happy to add a new template source option: GitHub (<code>gh<\/code>). Adding a GitHub template source type looks like:<\/p>\n<pre><code class=\"language-bash\">azd template source add &lt;key&gt; --type gh --location &lt;your-uri&gt; --displayname &lt;your-display-name&gt;<\/code><\/pre>\n<h3>Java Azure Functions support<\/h3>\n<p>When we introduced <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-developer-cli-azd-november-2022-release\/\">Java support two years ago<\/a>, it started with support for ACA and App Service. Now, we&#8217;re adding Azure Functions. We&#8217;re excited to see what Java Azure Functions apps you build with this expanded support. As usual, if you build a template you&#8217;d like to share we invite you to share your work by contributing it to <a href=\"https:\/\/azure.github.io\/awesome-azd\/docs\/contribute\">awesome-azd<\/a>.<\/p>\n<h3>Alpha feature: Deployment stacks support<\/h3>\n<p>We&#8217;re now offering Alpha support for <a href=\"https:\/\/learn.microsoft.com\/azure\/azure-resource-manager\/bicep\/deployment-stacks?tabs=azure-powershell\">deployment stacks<\/a>. At a high level, deployment stacks allow you to manage a group of Azure resources as a single, cohesive unit. <code>azd provision<\/code> now supports both subscription and resource group scoped deployment stacks. During <code>azd down<\/code>, deleting the deployment stack now deletes all resource groups and resources within the stack.<\/p>\n<p>To enable deployment stacks, you can run:<\/p>\n<pre><code class=\"language-bash\">azd config set alpha.deployment.stacks on<\/code><\/pre>\n<p>Since deployment stack support is considered an <a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/feature-versioning#alpha-features\">Alpha feature<\/a>, we only recommend using it for non-business-critical scenarios.<\/p>\n<h3>Resource group scoped deployments promoted to beta<\/h3>\n<p>We&#8217;re advancing <a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/resource-group-scoped-deployments\">resource group scoped deployments<\/a> to the <a href=\"https:\/\/learn.microsoft.com\/azure\/developer\/azure-developer-cli\/feature-versioning#beta-features\">beta feature stage<\/a>. Promotion to beta means that the feature is documented and it has help text available in-product. It also means we confirmed via user feedback that the UX is acceptable. Still, we only recommend using this feature for non-business-critical scenarios.<\/p>\n<h2>Other changes and enhancements<\/h2>\n<p>We also added smaller enhancements and fixed issues requested by users that should improve your experience working with the <code>azd<\/code>. Some notable changes include:<\/p>\n<p>Other features added to <code>azd<\/code>:<\/p>\n<ul>\n<li>Add <code>visualstudio.com<\/code> as valid Azure DevOps pipeline host <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/1072\">(azure-dev#1072)<\/a><\/li>\n<li>Support for environment variable substitution for source container image <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/4124\">(azure-dev#4124)<\/a><\/li>\n<li>Add support for <code>args<\/code> field in <code>container.v0<\/code> and <code>container.v1<\/code> Aspire resource types <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/4220\">(azure-dev#4220)<\/a><\/li>\n<li>Allow GitHub pipeline providers without <code>.zzz<\/code> suffix <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/4185\">(azure-dev#4185)<\/a><\/li>\n<\/ul>\n<p>Bugs fixed in <code>azd<\/code>:<\/p>\n<ul>\n<li>Discrepancy in results between <code>azd-ai-studio<\/code> in GitHub workflow versus local <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/3992\">(azure-dev#3992)<\/a><\/li>\n<li><code>azd up<\/code> stuck on Aspire dashboard <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/4221\">(azure-dev#4221)<\/a><\/li>\n<\/ul>\n<h2>New Templates<\/h2>\n<p>New templates this month include:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/charliewei0716\/on-your-data-with-streamlit\">Azure OpenAI On Your Data with Python Streamlit<\/a> authored by <a href=\"https:\/\/github.com\/charliewei0716\">Charlie Wei<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/charliewei0716\/blob-data-sharing\">Blob Data Sharing with Azure Functions Flex Consumption<\/a> also authored by <a href=\"https:\/\/github.com\/charliewei0716\">Charlie Wei<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/pinecone-io\/pinecone-assistant-azd\">Pinecone Assistants Sample App<\/a> authored by <a href=\"https:\/\/docs.pinecone.io\/guides\/assistant\/understanding-assistant\">Pinecone Developer Relations team<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/kernel-memory\">Kernel Memory<\/a> authored by <a href=\"https:\/\/microsoft.github.io\/kernel-memory\/\">Kernel Memory team<\/a><\/li>\n<\/ul>\n<p>Do you have an <code>azd<\/code> template you&#8217;d like to share with the rest of the community? You can learn how to with our <a href=\"https:\/\/azure.github.io\/awesome-azd\/docs\/intro\">contributor guide<\/a>.<\/p>\n<h2>Community contributions<\/h2>\n<p>We\u2019d also like to extend a special thanks to the community contributors of this release:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Menghua1\">Menghua Chen<\/a>\n<ul>\n<li>Add note that <code>todo-nodejs-mongo-aks<\/code> app isn&#8217;t reachable <a href=\"https:\/\/github.com\/Azure\/azure-dev\/pull\/4235\">(azure-dev#4235)<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>You can use the Azure Developer CLI from:<\/p>\n<ul>\n<li>Your terminal of choice on Windows, Linux, or macOS.<\/li>\n<li>Visual Studio Code or GitHub Codespaces by <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.azure-dev\">downloading the extension<\/a> from the Marketplace, or installing it directly from the extension view (<code>Ctrl<\/code> + <code>Shift<\/code> + <code>X<\/code> for Windows or <code>Cmd<\/code> + <code>Shift<\/code> + <code>X<\/code> for macOS) in Visual Studio Code.<\/li>\n<li>Visual Studio by <a href=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/introducing-the-azure-developer-cli-a-faster-way-to-build-apps-for-the-cloud\/#visual-studio\">enabling the preview feature flag<\/a>.<\/li>\n<li>You can learn more about the Azure Developer CLI from our <a href=\"https:\/\/aka.ms\/azd\">official documentation<\/a>.<\/li>\n<li>If you run into any problems or have suggestions, file an issue or start a discussion in the <a href=\"https:\/\/github.com\/Azure\/azure-dev\">Azure Developer CLI repository<\/a>. You can also try checking out our <a href=\"https:\/\/aka.ms\/azd-troubleshoot\">troubleshooting documentation<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This post announces the September release of the Azure Developer CLI (`azd`). Including remote container build support, multiple hooks per event, deployment stack support, promoting resource group scoped deployments to the Beta feature stage, and more.<\/p>\n","protected":false},"author":145931,"featured_media":2111,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[701,864,878,160,159,861,162,733,895],"class_list":["post-3177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sdk","tag-net","tag-azure-developer-cli","tag-codespaces","tag-java","tag-javascript","tag-kubernetes","tag-python","tag-typescript","tag-vscode"],"acf":[],"blog_post_summary":"<p>This post announces the September release of the Azure Developer CLI (`azd`). Including remote container build support, multiple hooks per event, deployment stack support, promoting resource group scoped deployments to the Beta feature stage, and more.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/users\/145931"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/comments?post=3177"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/3177\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media\/2111"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media?parent=3177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/categories?post=3177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/tags?post=3177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}