Sunday, May 15, 2016

Building RPMs with Docker-Cookery

Earlier this year I started a new chapter in my career. With this new position comes some new challenges and the need to learn some new tools. One of the tool sets we use is called FPM which we manage the FPM-Cookery project. An aspect of our package management system that I've found particularly interesting (at least viewed through the lens of my past experience) is that package builds are all done locally by the package maintainer and uploaded to our Pulp server. Of course, this would not be terribly interesting in itself except for the fact that everyone within the ops team (with a few exceptions) uses a Macbook Pro, not a CentOS or Fedora based system. To facilitate local package builds on a non-rpm based system, we've employed the use of docker containers with the aid of Docker Machine

My exposure to Docker up to this point had been purely academic. I'd read through some tutorials and official documentation. I'd gone so far as to deploy Owncloud and Postgres together via docker and had it running successfully in a test environment for several moths (until ultimately deciding to scrap it and return to a more traditional VM based approach in production). But I'd never really had any exposure to using Docker as part of a large production environment.

To help myself learn a little more about Docker and FPM-Cookery, I've taken it upon myself to build some shell wrappers which can easily automate the process of generating fpm-cookery recipes and building them using Docker. I'm calling the project "Docker-Cookery". While the tools are still a work in progress, I've made everything publicly available on Github. Please feel free to read through the documentation and submit feedback or pull requests.

No comments:

Post a Comment