Martin Ahrer

Thinking outside the box

TDD for infrastructure with Vagrant

2020-08-01 6 min read Martin

Introduction

For many years (almost decades) developers have been practicing test driven development and write tests to get confidence that their code works.

application test

However, with the rise of infrastructure as code where DevOps engineers try to describe infrastructure provisioning using code, this is something that is not observed generally. In many situations I have encountered infrastructure that

Continue reading

Google Container Tools - Jib

2020-04-19 2 min read Martin

With this post we close the series of articles taking a deep dive on building Docker images. We look at a building Docker images for running Java applications in a Docker container with Jib which is part of the Google Container Tools.

Jib

Jib is highly opinionated about building Java Docker containers using Maven or Gradle as build tool. So it offers plugin support for the above mentioned build tools.

Continue reading

Building a Docker Image

2019-08-17 3 min read Martin

This post starts a series of articles taking a deep dive on building Docker images. But before we look at building a Docker image let’s briefly recap the essentials we need to know about container images.

A Docker image is built up from a series of layers where each layer represents an instruction in the image’s Dockerfile. When Docker materializes an image and creates a container from this image, a storage driver handles the details about the way these layers interact with each other. Different storage drivers are available, which have advantages and disadvantages in different situations (e.g. AUFS, overlay, overlay2, btrfs,zfs). All drivers have in common that they use stackable image layers and the copy-on-write (CoW) strategy for writing files.

Continue reading

Continuous delivery infrastructure as code

2017-05-10 10 min read Martin

This is part 1 of a series of posts covering Docker in a Continuous Delivery environment.

Today I’m showing how simple it is to setup a continuous delivery build pipeline infrastructure using Docker. In an upcoming post we will look at Jenkins pipeline as code creating Docker images and running integration tests against Docker containers. The series will close with an article explaining how we can move all containers built throughout this series of posts in a Docker swarm environment.

Continue reading
Older posts Newer posts