The simple way to run Docker-in-Docker for CI

Every now and then I come across the requirement to build Docker containers inside a Docker container. More often than not, this happens when I need to build Docker images as part of a Jenkins pipeline - where the Jenkins master (or agent) is running inside a Docker container.

Getting started with metrics

Unless you know what to improve, every change you make is just shooting in the dark. This is why feedback loops are so important - the faster you know if something works or not, the sooner you can point your efforts in the right direction. This is applicable to both changes in software delivery processes, as well as changes in the code.

Starting in the shell: The PATH variable

Generally the commands you run in a shell are either built-in commands, or external programs. Unless it is a command that’s built into your shell itself (such as ‘echo’, which just outputs whatever input you give it), the shell uses an environment variable called PATH to know which directories to look for an executable file.

Building a DevOps organisation

Having DevOps as a separate function within an organisation has its caveats. Consider a traditional problem, a driving force behind the DevOps movement: Developers do not know where their code is running, or how it gets there. System administrators do not know how the code they are running works.