Tool maker to the tool makers
A meta-pipeline for generating continuous delivery pipelines for microservices
Our development group is adopting microservices. We found that having developers set up build pipelines by hand for each service was time-consuming and led to inconsistencies as our environment changed, so we automated the process. We developed a meta-pipeline that will generate a continuous delivery pipeline for any of our repositories that follow a set of conventions – our Meta-Pipeline Protocol. Standardising our pipeline definition has greatly reduced our programmers’ effort and allowed us to safely evolve our build environment. We’re starting to exploit this meta information to improve our overall environment, for example: to visualise relationships, to manage the running of client contract tests, and to profile build timings. In this experience report we will describe the structure of the system, our struggles to develop it, and some of the design decisions we made along the way.