Cloud Drops - What is Continuous Integration (CI)?

Are you now working with source code? Whether that’s Application Code, Infrastructure as Code, Database Schemas or Data Science workbooks as code, you may have heard of a term ‘Continuous Integration’ (CI). This is the process of regularly merging code, and running a series of automated builds/tests/checks to ensure that quality remains high in your production codebase. Find out more in this video.

Episode

July 20, 2021
Why use Git, How it Works and what's going on behind the scenes?

I’ve recently released a few Cloud Drops episodes on Git related content. The Git Behind the Scenes video was incredibly well received. I’m also aware from my day-to-day discussions that there’s a mix of experiences with Git, so also made a Git 101 Video. In this Cloud World that we live in, version control is an important concept beyond the ’traditional’ developers. Infrastructure Engineers can now version control their Infrastructure as Code, or maintenance scripts. Data Scientists can version control their experiments and tests. And of course, developers can version control the code for their software. I also consider version control as a gateway or first step into the world of DevOps. Typically when you think about build and release pipelines, you are triggering based upon some version control event (e.g. a commit to a particular branch, a merge of a pull request, etc.). Over the past few years, I’ve seen a trend where organisations are looking to automate quickly, rather than relying on the traditional hands-on-keyboard approach which can be error-prone and time consuming. Whether we’re talking in this context about Infrastructure as Code, Application Code, database schemas as code, data science experiments or any other representation as code, it doesn’t matter. Typically the roads lead back to the same place, to version control. So in this blog post, I’ll be covering the fundamentals of Git and how to get started. For anyone that is particularly inclined, there will also be some information on what’s happening behind the scenes when you work through these fundamental concepts.

Blog

April 1, 2021
Cloud Drops - Git 101 - Why use Git, and how to get started

Have you ever had a scenario where you need to maintain versions of a set of files? Or have you needed to collaborate on files with colleagues in some way? That’s a common scenario for developers, infrastructure engineers or data scientists/developers. It’s an increasingly common problem. Some people solve this using file shares or FTP Servers with numerous files, v1, v2, v2-final, but that doesn’t scale and is quite a messy approach. Surely there is a better way? That’s where a Version Control System can really help you. One such option is Git. Git is a distributed version control system, which means that rather than relying on a central location to host and store the entire set of files and history, each machine has a full version of the codebase and history locally. This means each user can be productive locally and independently on their own machine. Git is also optimised to be very lightweight and perfomant.

Episode

March 30, 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.

Blog

March 24, 2021
Cloud Drops - How does Git work behind the scenes?

Have you ever wondered how Git works behind the scenes? We’ll go ahead, initialise an empty folder as a Git repository and explore the .Git folder that is created.

Episode

March 24, 2021
Cloud Drops - Introducing and Setting up Git LFS (Large File Storage)

Have you ever considered storing large binary files in your Git repositories? There are times where you may want to do this, e.g. for my podcast cloudwithchris.com to store my podcast files. Git LFS is an extension to Git which replaces large files with text pointers inside Git. Listen in to find out why you should care, how it works and what it is!

Episode

March 23, 2021
Using GPG Keys to sign Git Commits - Part 4

Part 4 - The final part (at least for now, until I find somewhere else that we can expand on with this)! This part will focus on porting the keys that we have recently generated onto our YubiKey device. I own a YubiKey NEO, so i’ll be using that.

Blog

March 17, 2021
Using GPG Keys to sign Git Commits - Part 3

Okay, part 3! At this point, I’m assuming that you have already familiarised yourself with part 1 and part 2 of the series. As a quick recap, part 1 focused on why we would consider using GPG Keys in general. Part 2 focused on how to generate GPG keys along with some recommended practices on splitting out our master (Certification) key, from our specific purpose-driven keys. This post (part 3) focuses on using those keys as part of our usual development workflow using Git. We’ll be assuming that GitHub is our end target, as GitHub supports commit signature verification using GPG Keys.

Blog

March 10, 2021
Using GPG Keys to sign Git Commits - Part 2

Hopefully by now you’ve had a chance to read part 1 of this series, which explains why you may be interested in using GPG keys to sign your commits. Congratulations on getting to the second part! In part two, we’re going to focus on how I worked through setting up GPG in my Windows environment, and generating a set of keys for use. There were some challenges/hurdles along the way, and we’ll talk through those too!

Blog

March 3, 2021
Using GPG Keys to sign Git Commits - Part 1

For a while now, I’ve been using GPG Keys to sign my Git Commits to prove that my commits on GitHub are genuine and from me. Over the last few weeks, I’ve been inspired by a couple of colleagues (Kudos to Adrian and Julie if you’re reading this) to dig out my YubiKey and use these for my key signing activities. While there are several blog posts on the topic already, I encountered a number of roadblocks along the way. The intent of this blog post is to be the first of a series, where we’ll explore what GPG is, why it may be valuable to you and how you can get going using them. We’ll then take this forwards an additional step, and show how you can use YubiKeys as a second factor of verification and the benefits of this approach. By no means am I the world’s expert in cryptography, and some of these topics, but I wanted to document my own understanding for posterity, as I’ll inevitably need to repeat/review the process in the future. I hope that this may be useful to you.

Blog

February 24, 2021