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.
Steve Freeman, author of Growing Object Oriented Software, Guided by Tests (Addison-Wesley), was a pioneer of Agile software development in the UK. He has developed software for a range of institutions, from small vendors to multinational investment banks. Steve trains and consults for software teams around the world. Previously, he has worked in research labs and software houses, earned a PhD (Cambridge), written shrink-wrap applications for IBM, and taught at University College London. Steve is a presenter and organiser at international industry conferences, and was chair of the first London XPDay.