What does a continuous delivery pipeline look like? Which pieces do we need to have in place for us to achieve true continuous delivery? Kamalika Majumder lays out the anatomy of a continuous delivery pipeline.
What Companies Need
Companies are always looking for
- shorter release cycles
- continuous integration
In essence, they want to sell faster and sell better quality products. This applies to all companies, whether they’re selling services or actual products.
Most companies use many different DevOps tools, but don’t have the results to show for it because:
- they can’t deliver when they want to
- they encounter regression bugs in production
- the delivery of new features is slow
Why do we still see these issues a decade after DevOps gained traction?
Everyone needs one single pipeline for the application lifecycle management and continuous delivery of quality products. This includes:
This all needs to be linked together into one single pipeline. Today, we’ll focus on the basics of a continuous delivery pipeline.
Back to Basics
Martin Fowler defined continuous delivery as
“a discipline where you build software in such a way that the software can be released to production at any time.”
It’s important to stress that your code is always deployable. This means continuous delivery is a cycle of five principles:
- and release
During development, merging code can lead to merge conflicts. This is a frustrating experience. This is caused by waiting too long to merge your changes back into the master branch. You need to keep your code updated, shortening the feedback cycle.
Trunk based development solves this issue. Temporary branches are okay for features, and short-lived release branches are fine. But everyone should commit to the master branch regularly (once a day!).
*** This is a Security Bloggers Network syndicated blog from Sonatype Blog authored by Peter Morlion. Read the original post at: https://blog.sonatype.com/anatomy-of-a-continuous-delivery-pipeline