Photo of a computer screen showing a Terminal window with columns of data in green text on a black background.
Photo of a computer screen showing a Terminal window with columns of data in green text on a black background.
Photo by Joan Gamell on Unsplash

You know that script?

You know, the one that takes so long to run that you get bored, start reading Hacker News, forget about it until an hour later, and then you’ve lost 45 minutes of productive time?

Or maybe it’s something else: a Continuous Integration build, or that job you have to run every now and then to reindex your development database, or reticulate your splines, or whatever.

It sure would be nice if we could make it faster, but sometimes that’s not possible, or not practical. …

Containerbow” by Michael Phillips Photography

The Problem: Docker writes files as root

Sometimes, when we run builds in Docker containers, the build creates files in a folder that’s mounted into the container from the host (e.g. the source code directory). This can cause us pain, because those files will be owned by the root user. When an ordinary user tries to clean those files up when preparing for the next build (for example by using git clean), they get an error and our build fails.

There are a few ways we could deal with this problem:

  • We could try to prevent the build from creating any files, but that’s very limiting —…

A story of low-tech time tracking

We wanted to know where our time was going

The team was having a problem: we had a feeling we were spending our
time on the wrong things, but we didn’t feel sure enough to act on that feeling because we didn’t have data.

I’d done an exercise in the past where I used a time tracker to find out where my time was really going. I suggested that maybe the team could do the same thing. This idea received just one very reasonable objection:

Timesheeting sucks

Ticking timers create a feeling of pressure and a false sense of precision. They raise questions like:

  • “Should we care about stopping the timer…

We’ve been doing Continuous Delivery for a while at Redbubble, and we’ve learned quite a bit, so I thought I’d share a few questions you should ask when making the transition from Continuous Integration to Continuous Delivery. Hopefully our experience can help you, whatever stage you’re at.

But first, a quick refresher on what exactly Continuous Delivery is. When we are doing Continuous Delivery, we are doing Continuous Integration by definition. Besides having an automated build, Continuous Delivery requires that any passing build can be deployed at any time, at the push of a button. This is more advanced than…

Lucas Wilson-Richter

Software Engineer by day, baritone and triathlete by night.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store