Pipelines are meant to be the road that will guide your team from code straight to production, automating everything on its way. Pipelines should be a source of joy for developers, the team’s safe harbour. But the reality can be different, and many teams are struggling to get their pipelines right, spending time and energy fighting against automation instead of having their pipelines delivering value.
We’ve observed that many companies and teams are struggling with their Continuous Delivery pipelines. Sometimes the tool is to blame, for instance, when pipelines are not first-class citizens turning the implementation of pipelines painful, requiring tons of plugins, configurations, workarounds, leading over-engineering and flakiness. Sometimes, teams code their pipelines based on a broken development process or poor communication structure, and automating things in this context can lead to frustration and pain (Conway’s Law in play).
In this talk, we will live code a Continuous Delivery pipeline from scratch, from commits to production, using Concourse. During the talk, we will make use of pipeline’s best practices, and explain why you should adopt them in order to make your way to production more reliable. By doing so, we will share with you how Pivotal relies on pipelines to deliver value, from developers’ keyboards directly to customer’s hands.
Through this talk we want to show that pipelines are a big deal, bringing value whilst being a pleasant experience to biz, devs and ops. By using the right tool and applying best practices (most described in the Continuous Delivery book from Jez Humble & David Farley), we can achieve the expected results. This can sound a bit complicated, and that’s why we decided, in this talk, to start from a blank page (in this case a yaml file), and build a pipeline from the ground up, from commit to production, explaining concepts and best practices as we go.