Walmyr Filho
Jul 11, 2016 · 2 min read

Deployment pipeline is a concept for avoiding waste in the software development process, and it is used for providing quick feedback to the team during deployment. It works in the following way: the software deployment is divided in different stages, where tasks are run in each of these stages. In the same stage, tasks can be executed in parallel, for helping on the feedback loop. When all tasks in a stage passes, the tasks in the next stages can start (this can be triggered manually or in an automated way).

In the below image I tried to visually show you an example of a deployment pipeline, where after a developer pushes his/her code to a remote repository, the deployment pipeline starts. First building the application, then running code analysis, unit tests, and integration/API tests (all in parallel). If all the tasks in this stage of the pipeline passes, then a smoke test suite is triggered, and if the smoke test also passes, it triggers the regression test suite and the visual regression test suite (executed in parallel), and then, if this final stage passes as well, then we have a release candidate that can be promoted to production, so that users can enjoy.

Deployment pipeline example — designed by Walmyr Filho

The importance of using this approach, as already mentioned, is about avoiding waste. This means that if, for example, one or more tasks in some of the stages fail, it automatically fails all the deployment, and no time is waste running the other tasks unnecessarily.

Another important point about using deployment pipelines is that we can separate tasks that take longer time to execute from tasks that run faster. An example of this is a comparison of the time spent on executing a suite of unit tests versus a suite of end-to-end regression tests.

Last, but not least, a deployment pipeline can be used to show the value stream map of all the deployment workflow. This can be a powerful and valuable artifact for making non-technical people understand what is necessary to deliver high-quality software, and then having their help on providing the necessary resources to make it happens.

I wish you have enjoyed the article and I'll be happy to hear what you have to say about deployment pipelines, in the comments.

Have a great week and start thinking on your deployment pipeline!

=D

The Whereby Blog

The most recent blogs from the Whereby team

Walmyr Filho

Written by

QA Engineer, clean coder, blogger, writer, YouTuber, online teacher, mentor, member of technology communities and passionate for good music 🎶 and skateboarding

The Whereby Blog

The most recent blogs from the Whereby team

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade