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.
I've talked in the past about my Open Source journey, and some of the contributions that I have made in the community. In my current role, I've been leading on the global strategy for my team's DevOps practice, defining the areas of focus and initiatives that may be beneficial for the team. In this post, I'm going to talk through one of these initiatives, and how you can contribute towards the Azure GitHub Actions experience!
A little while ago, I wrote a blog post on Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity, which seems to get a good amount of views week on week. Reflecting on some questions that have popped up this week (and regularly received over my time in the DevOps space), I thought that it makes sense to write a post on how to use Azure DevOps self-hosted agents to deploy to private resources. So, that's what we'll be covering in this post!
In part 1 of this Using Azure Arc for Apps series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In part 2, we deployed an App Service Kubernetes Environment into our Azure Arc enabled Kubernetes cluster. As you'll likely be aware, both Azure Functions (this blog post) and Azure Logic Apps (the next blog post) can run on Azure App Service. The same is true of an App Service Kubernetes Environment, we can run App Services, Logic Apps and Azure Functions.
Latest Blogs
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
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
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
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
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
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
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
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
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
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