Learn how to implement multi-stage pipelines in Azure DevOps for efficient deployment workflows with approval gates and infrastructure setup.

Azure DevOps Multi-Stage Pipelines

As I move into using Azure DevOps more and more, there is one thing which I really haven’t got on with and that is release pipelines. I didn’t like that I couldn’t easily define it as YAML like I could with build pipelines, even though I don’t like them, there are a few things I do like — like approval gates. Environments Luckily, there are ways to get around this — the most simple way is to add an Environment and then add an Approval. Adding an Environment is simple enough, just click on Environment in your Pipeline and then add one with None selected under Resource; ...

April 25, 2021 · 7 min · Russ Mckendrick
Discover Russ Mckendrick's top 20 vinyl records of 2020 featuring a diverse selection of music genres.

Top 20ish Records of 2020

A little late, but there are my top 20 records of 2020, as per previous years these are all ones which I have purchased on vinyl. bdrmm - Bedroom↗ Doves - The Universal Want↗ Pure Reason Revolution — Eupnea↗ Orb — Abolition Of The Royal Familia↗ The Smashing Pumpkins — Cyr↗ Andy Bell — The View From Halfway Down↗ Ulver — Flowers Of Evil↗ Church Of The Cosmic Skull — Everybodys Going To Die↗ Jim Bob — Pop Up Jim Bob↗ Matt Berry — Phantom Bird↗ Working Mens Club — Working Mens Club↗ Crippled Black Phoenix — Ellengast↗ Bruce Springsteen — Letter To You↗ And You Will Know Us By The Trail Of Dead — X: The Godless Void And Othe Stories↗ The Pineapple Thief — Versions Of The Truth↗ Ozric Tentacles — Space For The Earth↗ Abel Ganz — The Life Of The Honeybee Other Moments Of Clarity↗ Sparks — A Steady Drip Drip Drip↗ EOB — Earth↗ Badly Drawn Boy — Banana Skin Shoes↗ Katatonia — City Burials↗ Kavus Torabi — Hip To The Jag↗

January 22, 2021 · 1 min · Russ Mckendrick
Upgrade Python on macOS Big Sur using pyenv. Install Python 3.9.1 and update pip for smoother management.

Managing Python on macOS Big Sur

When Apple releases a new version of macOS it always takes a few months for everything to catchup, following my last blog post where I mentioned that I was having problems installing Python on macOS Big Sur↗ which meant that my preferred method of installing and managing Python using pyenv, which is documented in this blog post↗ , didn’t work out of the box — and the workarounds suggested workarounds on GitHub made my shell really slow. ...

January 10, 2021 · 2 min · Russ Mckendrick
Moving to Docker to run Ansible on macOS Big Sur

Ansible, Azure and macOS Big Sur

One of the annoying things about updating to the latest version of macOS is that a lot of the command-line tools I use tend to break or need tweaking slightly from how I have been using them. One of the annoyances in the move to Big Sur is that Python is a back to being a massive pain, and more so than normal. At the time of writing pyenv↗ is not running all that well, and while there are fixes available they slow down my shell — for more information on the problem see this GitHub issue↗ and for information on why pyenv see my previous post on updating Python on macOS↗ . ...

December 28, 2020 · 3 min · Russ Mckendrick
Migrating Docker images to GitHub Container Registry with automated workflows. Updates Dockerfiles for each image.

Migrating my Docker images to the GitHub Container Registry

A few weeks after the final draft of the fourth edition of Mastering Docker ↗ was submitted Docker made the announcement that they would be making changes to the retention of images in Docker Hub as well as the introduction of rate limits. These changes make complete sense given that at the time of writing this post there are over 150 million images taking up over 15 PB of storage, of that 10 PB of the images haven’t been accessed in over 6 months and 4.5 PB are associated with free Docker Hub accounts — so removing these inactive images is going to give them a hell of cost-saving. ...

September 27, 2020 · 7 min · Russ Mckendrick
Explore GitHub Codespaces with Terraform for online IDE experience. Easily set up a workspace for infrastructure as code projects using Terraform and Ansible.

GitHub Codespaces and Terraform

I got my invite for GitHub Codespaces the other day and I thought I would have a quick play with it as having an an online IDE sounds like it could come in handy. If you know me — you will know that I am not a developer, but I do a lot of work in Visual Studio Code as that is where I tend to develop work on a lot of the infrastructure as code projects using Terraform and Ansible, as well as Docker projects. ...

September 20, 2020 · 3 min · Russ Mckendrick
Learn to create a robust Azure DevOps pipeline for Terraform deployments, managing infrastructure as code efficiently with Azure CLI and Terraform tasks.

Azure DevOps Terraform Pipeline

In my last post↗ I wrote about how I created an Azure DevOps pipeline using Ansible in a more “Terraform” way, however, although I have used Terraform and Azure DevOps quite a bit I realised I didn’t really have a template for a pipeline. Before we look at the pipeline itself I should point out that is uses the the Terraform Azure Pipeline extension by Microsoft DevLabs ↗ from the Visual Studio Marketplace↗ , if you are following along with this post please ensure that the extension is installed in your organisation before proceeding. ...

May 31, 2020 · 5 min · Russ Mckendrick
Streamline your DevOps workflows by setting up an Azure pipeline using Ansible playbooks. Learn how to integrate Azure CLI for faster results!

Azure DevOps Ansible Pipeline

I thought it was was about time that I started to have a play with Azure DevOps a little more than I have been doing, one of the things I have always meant to look at in the past is using DevOps to run Ansible playbooks. However the Ansible Task↗ recommended by Microsoft has always put me off, the reason for this is that this task requires a Virtual Machine to run Ansible — this to me always seemed a little overkill. ...

May 10, 2020 · 4 min · Russ Mckendrick