{"id":2229,"date":"2022-10-05T11:05:21","date_gmt":"2022-10-05T18:05:21","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/azure-sdk\/?p=2229"},"modified":"2022-10-05T11:28:39","modified_gmt":"2022-10-05T18:28:39","slug":"azure-developer-cli-azd-october-2022-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/azure-sdk\/azure-developer-cli-azd-october-2022-release\/","title":{"rendered":"Azure Developer CLI (azd) \u2013 October 2022 Release"},"content":{"rendered":"<p>We&#8217;re pleased to announce that the October 2022 release (<code>0.3.0-beta.1<\/code>) of the Azure Developer CLI (<code>azd<\/code>) is now available. You can learn about how to get started with the Azure Developer CLI by visiting our <a href=\"https:\/\/aka.ms\/azd\">Dev Hub<\/a>.<\/p>\n<p>This release includes the following features and improvements:<\/p>\n<ul>\n<li>Azure Pipelines support as a CI\/CD provider <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/101\">azure-dev#101<\/a><\/li>\n<li>Improved Infrastructure as Code structure via Bicep modules <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/543\">azure-dev#543<\/a><\/li>\n<li>A new template gallery, named <a href=\"https:\/\/aka.ms\/awesome-azd?source=october-release-blog-post\">awesome-azd<\/a>, and a call for template contributions <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/398\">azure-dev#398<\/a><\/li>\n<\/ul>\n<p>If you\u2019re interested, you can check the full list of improvements since our public preview release in <a href=\"https:\/\/github.com\/Azure\/azure-dev\/releases\">our changelog<\/a>.<\/p>\n<h2>Azure Pipelines support as a CI\/CD provider<\/h2>\n<p>The Azure Developer CLI now supports multiple CI\/CD (continuous integration and continuous delivery) providers \u2013 GitHub Actions and newly added support for Azure Pipelines. In the templates that our team has authored, you\u2019ll now find both <code>.github\/<\/code> and <code>.azdo\/<\/code> directories so you can choose the CI\/CD provider you use for your application. GitHub Actions will be used as the default CI\/CD provider for the Azure Developer CLI.<\/p>\n<h3>How do I use Azure Pipelines for CI\/CD with the Azure Developer CLI?<\/h3>\n<p>If you\u2019re interested in using Azure Pipelines as your CI\/CD provider, you can set it in a couple of ways.<\/p>\n<p>To <strong>permanently<\/strong> set Azure Pipelines as the CI\/CD provider for your project, you can either:<\/p>\n<ol>\n<li>Add the following snippet to your <code>azure.yaml<\/code>:\n<pre><code class=\"language-yaml\">pipeline:\r\n  provider: azdo<\/code><\/pre>\n<\/li>\n<li>Or, ensure you don&#8217;t have a <code>.github\/<\/code> directory in your project.<\/li>\n<\/ol>\n<p>When a template contains only one folder (either <code>.github\/<\/code> or <code>.azdo\/<\/code>), the pipeline provider is selected based on the existing folder name. You can update your template folders to select the default provider. For example, removing the <code>.github\/<\/code> folder sets Azure Pipelines as the default provider to be used. You don&#8217;t need to update <code>azure.yaml<\/code> or even set the <code>--provider<\/code> argument.<\/p>\n<p>To <strong>temporarily<\/strong> set Azure Pipelines as the CI\/CD provider for your project, use the <code>--provider<\/code> parameter when running <code>azd pipeline config<\/code>:<\/p>\n<pre><code>   azd pipeline config --provider azdo<\/code><\/pre>\n<p>For more information on using Azure Pipelines for CI\/CD, see <a href=\"https:\/\/aka.ms\/azure-dev\/pipeline\/azdo\">this doc<\/a>.<\/p>\n<h2>Improved Infrastructure as Code structure via Bicep modules<\/h2>\n<p>If you\u2019ve been using the Azure Developer CLI, you\u2019ll have noticed that the structure for our Infrastructure as Code assets in our templates with in the <code>infra\/<\/code> directory is fairly flat, with all of the Azure resources defined in a single <code>resources.bicep<\/code> file. However, this structure made the file long and difficult to edit.<\/p>\n<p>As of this release, you\u2019ll see that we\u2019ve now split the <code>resources.bicep<\/code> file up into modules based on their purpose, which is more suited to reuse. More specifically, the <code>infra\/<\/code> structure will now look something like this:<\/p>\n<pre><code>.\r\n\u251c\u2500\u2500 infra\/\r\n\u2502   \u251c\u2500\u2500  app\/\r\n\u2502   \u2502   \u2514\u2500\u2500 api.bicep\r\n\u2502   \u2502   \u2514\u2500\u2500 web.bicep\r\n\u2502   \u2502   \u2514\u2500\u2500 db.bicep\r\n\u2502   \u2502   \u2514\u2500\u2500 ...\r\n\u2502   \u2514\u2500\u2500 core\r\n\u2502       \u2514\u2500\u2500 database\/\r\n\u2502       \u2514\u2500\u2500 host\/\r\n\u2502       \u2514\u2500\u2500 monitor\/\r\n\u2502       \u2514\u2500\u2500 security\/\r\n\u2502       \u2514\u2500\u2500 storage\/\r\n\u2502   \u251c\u2500\u2500  abbreviations.json\r\n\u2502   \u251c\u2500\u2500  main.bicep\r\n\u2502   \u251c\u2500\u2500  main.parameters.json\r\n\u2502   \u251c\u2500\u2500  resources.bicep<\/code><\/pre>\n<p>So what are we looking at? Let&#8217;s dig in:<\/p>\n<ul>\n<li>The <code>resources.bicep<\/code> is the central location for defining all of your Infrastructure as Code modules. In this file, you&#8217;ll find the module definitions that call out to modules defined in the <code>app\/<\/code> directory with parameters that can be overwritten.<\/li>\n<li>The <code>app\/<\/code> directory contains all the Bicep files specific to this project template.<\/li>\n<li>The <code>core\/<\/code> directory contains all the Bicep files our team has created within subdirectories grouped by function (for example: database, host, monitor). These files aren&#8217;t specific to the template you&#8217;ve chosen to use but are included as a reference library. You could choose to pull these modules into this template or any other project that you want to make <code>azd<\/code> compatible. In the future, we plan to move these files to a registry or a standalone repository.<\/li>\n<\/ul>\n<p>We hope that this new structure makes it much easier to reason about and edit your Infrastructure as Code files. If you have any feedback or questions around this new module structure, <a href=\"https:\/\/github.com\/Azure\/azure-dev\/discussions\">start a discussion<\/a> or <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\">open an issue<\/a> on our repo!<\/p>\n<h2>New template gallery: awesome-azd<\/h2>\n<p>Over the past couple of months, we\u2019ve been thinking about the best way to showcase all our amazing templates in a way that makes them easy to discover and highlights the hard work of <code>azd<\/code> template contributors.<\/p>\n<p>With this release, we&#8217;d like to announce our new template gallery: <a href=\"https:\/\/aka.ms\/awesome-azd?source=october-release-blog-post\">Awesome <code>azd<\/code> Templates<\/a>! This gallery is the new go-to place to discover and contribute <code>azd<\/code> templates!<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-content\/uploads\/sites\/58\/2022\/10\/azd-template-gallery.gif\" alt=\"\" \/><\/p>\n<p>Here you&#8217;ll be able to:<\/p>\n<ul>\n<li>Search for templates by name.<\/li>\n<li>Filter by language(s), scenario(s), and\/or Azure technology.<\/li>\n<li>See featured templates (templates that have been audited and are guaranteed to be of high quality.<\/li>\n<li>See requested templates (templates that our team or the community would like to see authored).<\/li>\n<\/ul>\n<p>This gallery app is backed by a GitHub repository called <a href=\"https:\/\/github.com\/azure\/awesome-azd\">awesome-azd<\/a>, which hosts the source code for this site and:<\/p>\n<ul>\n<li>Links to <a href=\"https:\/\/aka.ms\/azd\">Developer Hub<\/a> documentation and the <a href=\"https:\/\/github.com\/azure\/azure-dev\">core Azure Developer CLI repo (azure-dev)<\/a><\/li>\n<li>Learning resources and content (blogs, YouTube playlists, community calls, and more)<\/li>\n<li>Templates listed by programming language and by scenario<\/li>\n<\/ul>\n<p>This repository is open for contributions! If you want to add a new feature to the UI of the gallery, highlight a new template, add content to the README, open an <a href=\"https:\/\/github.com\/azure\/awesome-azd\/issues\">issue<\/a> using one of the issue templates, or open a <a href=\"https:\/\/github.com\/azure\/awesome-azd\/pulls\">pull request<\/a>!<\/p>\n<h3>How do I get included in the official <code>awesome-azd<\/code> gallery?<\/h3>\n<p>To get included in the template gallery, you can fill out the <strong>Contribute New Template<\/strong> issue either by visiting the <a href=\"https:\/\/github.com\/azure\/awesome-azd\">awesome-azd<\/a> repo directly, or via the <a href=\"https:\/\/aka.ms\/awesome-azd?source=october-release-blog-post\">Awesome <code>azd<\/code> Template gallery site<\/a> and clicking <strong>Contribute Your Template<\/strong>. Once you&#8217;ve submitted the issue, our team will review that the template information is complete, and that the template is valid on a rolling basis at regular intervals.<\/p>\n<p>All reviewed and accepted templates will feature the author&#8217;s name and link to their GitHub profile on the gallery site so it&#8217;s an awesome opportunity to showcase your work!<\/p>\n<h3>Call for Hacktober template contributions<\/h3>\n<p>During October, we\u2019re looking for template contributions to help build out the <code>azd<\/code> template ecosystem! If you\u2019ve got a beloved application or quickstart that you think would make a great template, we\u2019d love for you to make it <code>azd<\/code> compatible and open an issue on the <a href=\"https:\/\/github.com\/azure\/awesome-azd\">awesome-azd<\/a> repo to contribute it so that we can help you share it out with the community in our template gallery!<\/p>\n<p>If you\u2019re not sure where to get started, our team has also dropped some ideas of templates under <strong>Requested Templates<\/strong> that we think would be great additions to the template ecosystem in the issues on our <a href=\"https:\/\/github.com\/Azure\/awesome-azd\/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Arequested-contribution\">awesome-azd repo<\/a>. Feel free to self-assign and pick it up! You can also submit ideas for new templates via the repo as well using the <a href=\"https:\/\/github.com\/Azure\/awesome-azd\/issues\/new?assignees=nitya%2C+savannahostrowski&amp;labels=requested-contribution&amp;template=%F0%9F%A4%94-submit-an-idea-for-a-template.md&amp;title=%5BIdea%5D+%3Cyour-template-name%3E\"><strong>Submit an idea for a template<\/strong> issue<\/a>!<\/p>\n<p>If you\u2019re unfamiliar with how to create a template, you can take a look at <a href=\"https:\/\/aka.ms\/azure-dev\/enabletemplate\">this guide<\/a>, which provide you with a step-by-step walkthrough. If you\u2019ve got questions about how to create a template or need help, start a discussion on <a href=\"https:\/\/github.com\/Azure\/azure-dev\/discussions\">our GitHub repository<\/a> and we\u2019d be happy to help!<\/p>\n<h2>Other changes and enhancements<\/h2>\n<p>We have also added small enhancements and fixed issues requested by users that should improve your experience working with the Azure Developer CLI. Some notable changes include:<\/p>\n<ul>\n<li>[CI\/CD Failure] Test_CLI_InfraCreateAndDeleteFuncApp fails to find resource group <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/464\">(azure-dev#464)<\/a><\/li>\n<li>Make deployment discovery more robust <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/559\">(azure-dev#559)<\/a><\/li>\n<li>Azure Free Subscription: The template deployment isn&#8217;t valid according to the validation procedure <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/482\">(azure-dev#482)<\/a><\/li>\n<\/ul>\n<h3>Community contributions<\/h3>\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\/nitya\">nitya<\/a> A hearty thanks for building out the <a href=\"https:\/\/aka.ms\/awesome-azd\">awesome-azd<\/a> template gallery + repo structure <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/398\">(azure-dev#398)<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/tonybaloney\">tonybaloney<\/a> macOS bash installer installs corrupt binary <a href=\"https:\/\/github.com\/Azure\/azure-dev\/issues\/430\">(azure-dev#430)<\/a><\/li>\n<\/ul>\n<p>Try out these new improvements by <a href=\"https:\/\/aka.ms\/azure-dev\/install-instructions\">installing the Azure Developer CLI<\/a>!<\/p>\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 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>, 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<\/ul>\n<p>You can learn more about the Azure Developer CLI from our <a href=\"https:\/\/aka.ms\/azd\">Dev Hub documentation<\/a>. If you run into any problems or have suggestions, file an issue or start a discussion on <a href=\"https:\/\/github.com\/Azure\/azure-dev\">Azure Developer CLI repo<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post announces the October 2022 release of the Azure Developer CLI (azd), which includes Azure Pipelines support for CI\/CD, Bicep modules, and a new template gallery.<\/p>\n","protected":false},"author":95415,"featured_media":2234,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[864,815,159,162,733],"class_list":["post-2229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-sdk","tag-azure-developer-cli","tag-c","tag-javascript","tag-python","tag-typescript"],"acf":[],"blog_post_summary":"<p>This post announces the October 2022 release of the Azure Developer CLI (azd), which includes Azure Pipelines support for CI\/CD, Bicep modules, and a new template gallery.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/2229","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\/95415"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/comments?post=2229"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/posts\/2229\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media\/2234"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/media?parent=2229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/categories?post=2229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/azure-sdk\/wp-json\/wp\/v2\/tags?post=2229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}