CI/CD with Hugo and Azure

TLDR I use Jenkins, Grunt, bash, AZCopy, Azure CLI and Node.js code to automate the building and deploying of my blog to Azure Blog Storage and Azure CDN, through a Staging environment. Please see a diagram below; Why do I do this โ” โ” โ” so I can delivery my blog faster, with higher quality than I ever could before ๐Ÿ‘ It’s takes about 28 minutes for my blog to go from GitHub to my Azure Production environment and I know that once I have tested the blog in Staging, that’s exactly what I will get in production ๐Ÿ’•

Hugo in Azure BLOB storage part 2

Part 2 in the series of how to run Hugo in Azure BLOB storage

Start using Jenkins with Azure in 5 minutes!

Have you always wanted to start using Jenkins with Azure? Do you have 5 minutes? Well...... your in luck!

Taking Helm for a spin

TLDR I have found Helm to be extremely useful ๐Ÿ‘ I am someone who is somewhat familiar with Kubernetes (but not really) and found Helm great for both getting started and deploying custom application to Kubernetes ๐Ÿ† In the below article I will go through my experiences with Helm, Kubernetes and Azure and show you some tips and tricks along the way. Also, Draft was announced while I was writing this blog.

Getting Started with Terraform on Azure

TLDR Terraform is easy to get started with Azure ๐Ÿ‘ and provides some additional benefits for Infrastructure as Code when compared with Azure Resource Manager (ARM) and Templates (which we will go into in a moment). But it’s not all rainbows ๐ŸŒˆ and unicorns ๐Ÿด It doesn’t yet support all of the resource types available in Azure and you may have to supplement you Terraform code with ARM JSON for those missing resource types.

Ignite wrap up

So I survived my first Ignite as a speaker ๐ŸŽค Not so much survived, but I have a great time ๐ŸŽ‰ connecting with my peers and having some great discussion about Azure โ˜๏ธ, Delivery Pipelines and Node.js. Ignite is one my favorite โค๏ธ technical events of the year. If you missed Microsoft Ignite Australia or couldn’t make the event ๐Ÿ˜ข, don’t worry ๐Ÿ˜Ÿ you won’t miss out on the content ๐Ÿ˜ƒ All of the session recordings and slide decks are available at here

Live Demo!

This is a blog post that I am publishing live on stage ๐ŸŽค at Microsoft Ignite Australia 2017 using Jenkins, GitHub and Grunt ๐Ÿ˜ƒ The demo includes a Jenkins Pipeline that; Pulls my content and files from GitHub into Jenkins Jenkins then generates my content using the Hugo executable Pushes my content to a staging container in Azure Blob Storage Pauses to allow me to view my staged deployment to make sure everything is ok After I have approved the staged deployment, it pushes my content to my production container in Azure Blob Storage The point I am trying to make with this demo is that once you a well established Delivery Pipeline, you should have confidence to push to production often ๐Ÿ‘