Blogs

Working through a challenge, and can’t quite solve it? Think it could make a good blog post idea? I’d love to hear!

Make a suggestion over on the cloudwithchris.com GitHub repository.

Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity

I recently started thinking about the typical setup process for a GitHub Action Workflow which will deploy into Azure. Typically, the process is to use the Azure/login GitHub Action, and then use the azure/cli or another Azure GitHub Action to deploy into GitHub. This is a nice approach. However, from my initial research - I wasn't able to see a way use the Azure/login GitHub Action to deploy into Azure using a System Assigned Managed Identity. This got me wondering, is this possible?

June 14, 2021
Using Git LFS to version Podcast Audio files and trigger releases to production with GitHub Actions

For some time, I've been using GitHub actions to update the content of my site (i.e. pages, descriptions, metadata, etc.). Through Hugo, these content updates automatically update the RSS feeds. This then makes the episodes appear in podcast services such as Apple Podcasts, Google Podcasts and Spotify. However, throughout that time I have been manually uploading the podcast files to my storage account. It wasn't a significant overhead, but I kept thinking that there must be a better way to do this. And, there is - I've implemented it! This blog post will walk you through why I've made these changes, how I made them and what the result is.

March 24, 2021
Approaching Resilience in Azure Solutions

I mentioned in Building Solutions in the Cloud that I would be writing a series of blog posts on the areas of risk that I have seen since I have been providing guidance around Azure. In this post, I will provide some thoughts on how you can consider resilience within the context of your own solution or application.

August 26, 2016

Latest Blogs

GitHub Projects is now GA! Automation Updates

In a couple of previous blog posts, I provided a writeup on the GitHub Projects Beta. I wrote two posts on automation within GitHub Projects (Adding Issues to GitHub Projects with GitHub Actions for a user profile and Adding Issues to GitHub Projects with GitHub Actions for an Organization profile). I’m pleased to say that the capabilities went Generally Available last week! As a result of the GA announcement and resulting changes, I need to post updates to my older samples.

Blog

July 31, 2022
GitHub for All - Overview

GitHub is one of my passion areas. You may have realised that already, with the amount of content that I’ve written about it. That’s only going to continue, because I’ve recently been hired there as an Enterprise Advocate. I’ve been supporting customers in their DevOps journey for the past 9 years or so. Interestingly, there are some reoccurring themes that I’ve found that are common. One of those themes is that DevOps is an App Development concept. In fact, it’s something that can be applied across domains (e.g. Infrastructure, Data, etc.) This is the start of a new blog series that will address those common themes, particularly in the context of GitHub.

Blog

July 31, 2022
Interfaces in Go

In this post, I’ll be talking about how to use interfaces in Go. This is a continuation of my learning using the Go language. I’ll use interfaces to create an application that interacts with several types of bank accounts.

Blog

May 16, 2022
Using GitHub Actions to summarise your Go tests

GitHub recently posted about a new GitHub Action that can be used to summarise your test results. The action is called test-summary/action, available at github.com/test-summary/action. There are several examples on how to use the action at github.com/test-summary/examples. However, there were no examples on how to use this with Go. I contributed a pull request which showed how to achieve this. In this post, I will show how to use the action with Go.

Blog

May 16, 2022
Go Pointers - Using the & and * operators

I’ll be transparent. The purpose of this post is to help with my own understanding of the Go & and * operators. It’s going to be a very short post, and I’m going to try to explain the concepts in a way that I can understand. I’ve used these operators in C previously, but whenever I’m using them - I always end up having to remember the syntax / which operator is which / what they do. For whatever reason, it doesn’t always come intuitively to me.

Blog

May 1, 2022
Enqueue and Dequeue messages locally with dapr, Azure Service Bus and Azure Storage Queues

In a previous blog post, I provided an overview of the Distributed Application Runtime (dapr) and explained how it is a useful framework when building microservices. In this blog post, I will show you how to use dapr to enqueue and dequeue messages locally with Azure Service Bus and Azure Storage Queues.

Blog

April 26, 2022
Set up your Go development environment with Visual Studio Code and Windows Subsystem for Linux (WSL)

Over the past few weeks, I have been working on a new set of pet projects. I’ve wanted to learn Go for a while, so I thought this could be a great opportunity to get hands on and try it out. It’s fair to say that my development environment was ‘functional’, but I wanted to revisit it to make sure that I could get the best out of it. In this blog post, I’m going to walkthrough the process of setting up Go on my machine, and then the experience of using Visual Studio Code and Windows Subsystem for Linux (WSL) with Ubuntu.

Blog

April 26, 2022
Using GitHub Actions, Azure Functions, Azure API Management and Google Analytics to display top posts on a Hugo Static Site

In this post, I show how I use GitHub Actions to call an Azure Function (through Azure API Management) that interacts with Google Analytics as part of the process to build my Hugo Static Site. The end result is that top posts are pulled into the Static Site Generation build process, rather than calling the Google Analytics API through JavaScript at runtime.

Blog

March 13, 2022
Using GitHub Actions and OpenID Connect to deploy Static Web Apps to Azure

Back in November, GitHub announced its OpenID Connect capability for cloud deployments was generally available. This has been on my list to try out, and I finally managed to get around to it! With scenarios like this, I prefer to do something real and hands-on, rather than mocked, or a proof of concept. I decided to refactor my GitHub Action workflows for cloudwithchris.com, removing the need for secrets stored in GitHub. In this post, I outline my journey through this.

Blog

February 22, 2022
Automate adding GitHub Issues to GitHub Projects (Beta) in a repository owned by a user

I recently wrote a blog post about using GitHub Actions to automatically add a GitHub Issue to a GitHub project (Beta) when the issue is opened. I received a question from my colleague and maintainer of the promitor and KEDA Open Source (OSS) Projects, Tom Kerkhove on doing the same with a user-owned GitHub repository, rather than organisation-owned.

Blog

February 10, 2022