4 ms·
I find for builds especially it's invaluable. I have a Makefile that builds Docker images and runs build processes for all 4 supported versions of Debian, 3 LT
by Taywee 4y ago
I find for builds especially it's invaluable. I have a Makefile that builds Docker images and runs build processes for all 4 supported versions of Debian, 3 LTS versions of Ubuntu, RHEL7, and Fedora 35 and 36. It builds and packages the software on all of these, giving me debs and rpms for every relevant distro ("relevant" meaning distros used for servers or workstations for any of our employees and clients).
I then have another set of docker images for making package repositories and signing everything.
I do have a lot of mostly-redundant dockerfiles in some places, but in others I've managed to leverage m4 to reduce the redundancy (though I'm trying to keep it as slim as possible to avoid the pain of turning everything into a convoluted set of impossible-to-maintain macros).
Before this, I was using Vagrant and Ansible for builds, which was slow, memory hungry, and frustrating to debug. Not to mention that dependencies that needed to be built statically couldn't be easily cached, which comes out of the box with Docker.