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. …
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:
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:
Ticking timers create a feeling of pressure and a false sense of precision. They raise questions like:
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…
Software Engineer by day, baritone and triathlete by night.