Getting started with GitHub Actions and Bicep – Part 6

This is the last part of this blog series, and here I want to show you how to use a JSON configuration file and a PowerShell script to deploy the same environment as you have seen in the first five parts of the series. This deployment type will feel familiar to many consultants since PowerShell is widely used among consultants. This deployment method can ease them into a DevOps mindset. Doing it this way enables flexibility around which part of the code to deploy by using if statements in the PowerShell script.
6 minutes to read
Martin Therkelsen

Getting started with GitHub Actions and Bicep - Part 5

In this part of the series, I will create two virtual machines and join them in my on-premises domain. These machines will be Citrix Cloud Connectors that will serve my Citrix environment with a new resource location in Azure. The Cloud Connectors will be deployed in an Azure Availability Set to ensure high availability. Source code can be found on my GitHub, find it here . I start with the creation of a new branch for my code, this will be called “VM”.
8 minutes to read
Martin Therkelsen

Getting started with GitHub Actions and Bicep - Part 4

In this part of the blog series, I want to create the VPN connection from Azure to my on-premises lab environment. As I did in the last part, I will create a new branch in Github for my work. I am doing this to ensure that my main branch is always running without errors. I will call this new branch for “VPN”. The first step is to create the template file for the Virtual Network Gateway in Azure.
6 minutes to read
Martin Therkelsen

Getting started with GitHub Actions and Bicep - Part 3

I want to create my resource groups and my virtual network in this part of the blog series. To create these resources will use a combination of Bicep files, where I split my code into an execution file with parameters and a generic template file. I am doing this to not limit my options for deploying environments. In fact, the last post in this series will be to deploy the same environment but switching the execution code with a PowerShell script.
8 minutes to read
Martin Therkelsen

Getting started with GitHub Actions and Bicep - Part 2

In part 1 of the series, I got my GitHub repository set up with a secret containing a service principal for Azure. This setup allows me to create a GitHub actions deployment using the service principal as authentication. In this part, I create the GitHub action to create a resource group in my Azure subscription. GitHub actions are using the YAML format, and for me, this took a bit to get used to, not because it is hard to read and write, but because the indentation is important and coming from PowerShell and JSON, this is new to me.
4 minutes to read
Martin Therkelsen

Getting started with GitHub Actions and Bicep - Part 1

I want to guide you through the initial setup for GitHub Actions and Bicep in this blog series. If you read my last series on Azure and Terraform, I want to do the same deployment, but this time using the tools mentioned. As this is a getting started guide, I will show all the steps I have taken to set up the deployment and reference the sites I have used to find knowledge.
3 minutes to read
Martin Therkelsen

Getting started with Azure and Terraform – Part 5

In this last part of the blog series, I will create a virtual machine and install the Citrix Cloud Connector software on this machine. It is important that the VM can reach the domain and join it since a Citrix Cloud Connector has to be domain joined before it will install. In my case, here I have the VPN up and running and using my on-premises active directory as the domain to join.
4 minutes to read
Martin Therkelsen

Getting started with Azure and Terraform – Part 4

In this part of the series I want to add the VPN to the solution and this includes the Virtual Network Gateway, the Local Gateway and the Connection objects in Azure and then I will also show you the setup in my ubiquiti setup I run at home. The VPN connection is a great way to get something running in Azure fast without having to install domain controllers and so on, instead we can use the existing environment we have on-premises so we can get up and running.
3 minutes to read
Martin Therkelsen

Getting started with Azure and Terraform - Part 3

In this part of the series, I want to create the Azure vNet and subnets for my Azure environment. I will be creating a hub/spoke topology where the hub will be connected to my on-premises environment later in this series. To get started with networking, I read through the modules and providers that Terraform provides. You can find it here . In the last part I wrote that I wasn’t sure how to handle the number of files and that is still the case, I do however want to change a bit from my last post, so let us get started.
5 minutes to read
Martin Therkelsen

Getting started with Azure and Terraform - Part 2

In this part of the series, I want to start creating my resource groups with Terraform. There are more ways to do this, but since I have been working with automation a bit, I know I want to start with a list of resource group names and make a loop through these. The first step is to create a list of resource group names. I create a file called “variables.tf” a reserved name in Terraform that you can use to contain the variables you want to use in the automation.
3 minutes to read
Martin Therkelsen