<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Azure-Pipelines on Mark Allison</title>
    <link>https://markallison.co.uk/tags/azure-pipelines/</link>
    <description>Recent content in Azure-Pipelines on Mark Allison</description>
    <image>
      <title>Mark Allison</title>
      <url>https://markallison.co.uk/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://markallison.co.uk/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.151.2</generator>
    <language>en</language>
    <lastBuildDate>Fri, 04 Mar 2022 07:30:29 +0000</lastBuildDate>
    <atom:link href="https://markallison.co.uk/tags/azure-pipelines/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Where to store Azure Pipelines Variables?</title>
      <link>https://markallison.co.uk/blog/azure-pipelines-variables/</link>
      <pubDate>Fri, 04 Mar 2022 07:30:29 +0000</pubDate>
      <guid>https://markallison.co.uk/blog/azure-pipelines-variables/</guid>
      <description>&lt;h2 id=&#34;question&#34;&gt;Question&lt;/h2&gt;
&lt;p&gt;Where should variables be stored for deploying &lt;em&gt;infrastructure-as-code&lt;/em&gt; in Azure DevOps pipelines to Azure? Resources need to be deployed to different regions and environments, and attributes for these need to be stored somewhere.&lt;/p&gt;
&lt;h2 id=&#34;options&#34;&gt;Options&lt;/h2&gt;
&lt;p&gt;Six options spring to mind.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/parameter-files&#34;&gt;Parameter files&lt;/a&gt;&lt;/strong&gt;. Seems like the obvious choice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/parameters#default-value&#34;&gt;Template file defaults&lt;/a&gt;&lt;/strong&gt; in &lt;code&gt;azuredeploy.json&lt;/code&gt; or &lt;code&gt;main.bicep&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=azure-devops&amp;amp;tabs=yaml&#34;&gt;Azure DevOps Library&lt;/a&gt;&lt;/strong&gt; variable groups. Seems good, a single place&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&amp;amp;tabs=yaml%2Cbatch&#34;&gt;Azure Pipelines variables&lt;/a&gt;&lt;/strong&gt; in individual pipelines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/bicep-functions-files#loadtextcontent&#34;&gt;Configuration file&lt;/a&gt;&lt;/strong&gt; within the project source code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/azure/devops/pipelines/process/runtime-parameters?view=azure-devops&amp;amp;tabs=script&#34;&gt;Runtime parameters&lt;/a&gt;&lt;/strong&gt; for setting values at run time&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s go through each option and then discuss my preferred approach.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deployments with Bicep and Azure DevOps</title>
      <link>https://markallison.co.uk/blog/deploy-bicep-with-azure-devops/</link>
      <pubDate>Sun, 11 Apr 2021 21:08:20 +0100</pubDate>
      <guid>https://markallison.co.uk/blog/deploy-bicep-with-azure-devops/</guid>
      <description>&lt;h2 id=&#34;goodbye-json&#34;&gt;Goodbye JSON&lt;/h2&gt;
&lt;p&gt;Since Microsoft released &lt;a href=&#34;https://github.com/Azure/bicep&#34;&gt;bicep version 0.3&lt;/a&gt; I thought I&amp;rsquo;d give it a try because anyone that&amp;rsquo;s authored ARM templates will know, they tend to make your eyes bleed after a while.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Bicep aims to drastically simplify the authoring experience with a cleaner syntax, improved type safety, and better support for modularity and code re-use.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;rsquo;m sold!&lt;/p&gt;
&lt;p&gt;I reverse-engineered an existing simple template that deploys two storage accounts by using &lt;code&gt;bicep decompile&lt;/code&gt; and got a template like this:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
