Continuous Integration vs. Continuous Delivery vs. Continuous Deployment

Continuous Integration, Continuous Delivery, and Continuous Deployment—if you do any work in the area of software delivery, it’s impossible not to encounter these terms on a regular basis. But what does each of these processes do for your product development and release cycles? I’ll explain what they really boil down to, what practic⁠es are associated with them, and what kinds of tooling are available to implement them. I’ll show what they offer, how they differ, and how they help, both separately and together, companies release software to customers frequently, reliably, and with high quality. And I’ll show you how the core practices of DevOps fit in with all of these.

Armed with an understanding of those terms, I’ll then explain how these processes fit into the modern environments of containers that run in managed clusters in the clouds.

A software delivery pipeline generates releases from source code in a fast, automated, and reproducible manner. The overall design for how this is done is called Continuous Delivery. The process that kicks off the assembly line by feeding in raw materials is referred to as Continuous Integration. The process that ensures quality is called Continuous Testing, and the process that makes the end product available to users is called Continuous Deployment. Done correctly, such a pipeline minimizes barriers, handoffs, and confusion among development teams and operational teams—goals ...

Get Continuous Integration vs. Continuous Delivery vs. Continuous Deployment, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.