Ben Selby profile picture

Ben Selby

Software Engineer

Open Source, Process, Technical Leadership, Automation, People

Love building distributed teams, writing in Go, building CLI dev tools, engaging with other engineering teams, and learning new things


Getting started with Jenkins: Language Agent

Apr 24, 2021 · 4 min read

This post follows on from the Jenkins series: Getting started with Jenkins Getting started with Jenkins: Agents This post is going to get you running a language specific Jenkins Agent. In the example we are going to follow, we will setup a Jenkins Agent running Go. This means you will be able to run Go builds within your local Jenkins instance. This method can then be extrapolated to other languages.

Read more ›

Using Terratest to test your infrastructure

Apr 18, 2021 · 7 min read

This post is going to get you started with using Terratest to help test your infrastructure changes. Terratest describes itself as: A Go library that provides patterns and helper functions for testing infrastructure, with 1st-class support for Terraform, Packer, Docker, Kubernetes, AWS, GCP, and more. Now that infrastructure is becoming code and configuration, we want to write tests that check that our infrastructure code works as intended. This is where Terratest can help.

Read more ›

Technical Roadmaps and Dev Sustainability

Apr 14, 2021 · 6 min read

At a high level, most engineers are working on product backlogs, in some way, shape, or form. What happens if that product backlog dries up? Or, as a manager or leader, you need to fill a period of uncertainty? This post is going to take you on my journey over the years, and put forward a solution that can be applied to small projects, large projects, and even at an organisational unit level.

Read more ›

Terraform knowledge to get you through the day

Apr 11, 2021 · 12 min read

As part of the “Getting through the day” series, this post is going to provide basic Terraform knowledge. We are going to setup a Terraform project that allows you to manage your repos in GitHub. I didn’t want to assume that you had an AWS, Azure, or Google Cloud account, but a GitHub account seemed more realistic. This post assumes that you have installed Terraform on your system. CLI Now that you have Terraform installed, you should be able to run terraform in your terminal.

Read more ›

Getting started with Jenkins: Agents

Apr 7, 2021 · 4 min read

Following on from Getting started with Jenkins, this post will get a Jenkins Agent up and running your builds. Please make sure you have completed the instructions on the previous post. We will run the Jenkins agents in docker containers, like we have for the controller. We need to adjust the docker run command slightly this time around. But first, we need to define a Docker network. So let’s start with creating the Jenkins network.

Read more ›

Getting started with Jenkins

Apr 3, 2021 · 6 min read

Jenkins is an automation application, that is heavily used for Continuous Integration (CI) and Continuous Deployment/Delivery (CD). This post is going to get Jenkins up and running, on your machine, and configuring a basic job. This can be handy if you are wanting to learn more about Jenkins, without using a hosted solution. It’s useful to be able to test Jenkins configurations in a disposable way. It’s not intended for this post to guide you on running a productionised Jenkins solution.

Read more ›

Shell knowledge to get you through the day

Mar 28, 2021 · 6 min read

Following on from the Docker knowledge to get you through the day, and Git commands to get you through the day posts, this will cover Shell commands. Once again, it aims to get you through the day. First of all, it’s worth noting that there are many shells: bash, sh, zsh etc. For a comprehensive list of shells, and their comparison, head over to Wikipedia. Basic commands Let’s cover off some basics that will hopefully get you on your way.

Read more ›

Setting up a VS Code Dev Container

Mar 21, 2021 · 7 min read

Last week my team was tasked with picking up a project that I had last worked on 4 years ago. The deadline was tight, and we had a week to complete it. It was written in PHP, a language I’d barely written in the last 3 years. Obviously a lot has changed in 4 years (both in the language, setup, and the team I work in). I am the only engineer in my team now who knows PHP.

Read more ›

Docker knowledge to get you through the day

Mar 15, 2021 · 6 min read

Following on from the “Git commands to get you through the day” post, Paddy Morgan and I delivered a Docker 101 workshop today at work. This post covers what we ran through. Time allocation: 60 minutes This workshop will be a high level overview of the basic docker commands you will use daily. It’s an entry level workshop, so if you’re comfortable with docker on the CLI, this probably isn’t for you.

Read more ›

Git commands to get you through the day

Mar 12, 2021 · 7 min read

Since the start of the year, I’ve been running weekly workshops with Paddy Morgan at work. These have been fun sessions to run. Some have been chats, some demos etc. However, this week we ran a “Git 101” workshop. Weirdly, this was the most attended workshop we have run, with around 50 engineers joining throughout the hour session. This post covers what we ran through. Time allocation: 60 minutes

Read more ›
More ...