What’s the Difference? Continuous Integration, Continuous Delivery and Continuous Deployment Explained
April 19, 2022

Jayne Groll
DevOps Institute

A healthy CI/CD pipeline ensures that your DevOps journey is headed toward success. Continuous integration, continuous delivery and continuous deployment each play an important role in the CI/CD pipeline, and it's important to differentiate between each.

Understanding the unique role of each CI/CD component will set you on a path toward better software and happier customers. DevOps Institute Ambassadors always have unique insights, so I asked several of them to explain how they would describe the difference between continuous integration, continuous delivery and continuous deployment.

Helen Beal, Chief Ambassador, DevOps Institute

"Once a team has its developers committing code at least once daily, a build is automated on every commit, and the unit, integration and user acceptance tests are run automatically (and problems are prioritized for remediation), they are practicing continuous integration (CI). Now they are in a position where they can practice continuous delivery because their software is always in a releasable state. This means they can release at any point in time, likely because it's deemed best for the customer. However, it requires manual intervention. Continuous deployment is when the changed code is pushed to live automatically when it passes the tests in CI."

Marc Hornbeek, CEO and Principal Consultant, Engineering DevOps Consulting

"Continuous integration systems ensure software changes are efficiently merged, built, tested and archived to produce release candidate artifacts. Continuous delivery processes verify release candidate artifacts, prepare them together with the required infrastructure or deployment, and validate that the software releases are ready for deployment. Continuous deployment processes ensure that software releases are deployed to production safely and validate the released software once deployed."

Parveen Arora, Founder and Director, VVnT SeQuor

"Continuous integration serves the purpose of automating our builds. It's the practice of merging code changes back into the main branch as quickly and as often as possible. In this step, all code is merged as developers complete code in order to run automated builds and tests.

However, in continuous delivery all code changes are automatically deployed to the testing environment from the build stage, which practically makes this process a direct extension of continuous integration. This movement to production is a manual step.

Now a variant of continuous delivery is continuous deployment, which is the process of moving software that has been built and tested successfully into production. Continuous deployment takes the entire process of continuous delivery a step further by releasing every change that passes through the production pipeline directly to our clients. If an automated test fails, then the change will not be sent, but if everything checks out in testing, the changes are deployed automatically."

Vishnu Vasudevan, Head of Product at Opsera

"If you look at continuous integration, it's all about moving the source of your code to the build state with static code analysis and then incorporating some sort of testing. Continuous delivery is all about moving the code into production. Continuous deployment is all about how agile the process is and how the team operates. For instance, are you able to deploy the code at will, on-demand, with a good, blue-green deployment strategy? Or do you use a shadow deployment or rolling deployment strategy?

The major difference between continuous deployment and continuous delivery is that continuous delivery is related to the frequent churn of new features into production for the customer, which is valued at the business level by understanding what customer value is being realized. Continuous deployment is more related to DevOps functionality with respect to the tools and automation strategy around CI/CD best practices, particularly for governance and compliance."

Tracy Ragan, CEO and Co-founder, DeployHub

"These terms seem to be interchangeable, but they are not. Let's start at the top. Continuous delivery (CD) is a software lifecycle process. A CD workflow defines and automates ALL of the steps required to move code, starting at the change request and ending in the user's hands. There are many steps in between. Continuous Integration manages the first step dealing with version control and binary creation (software build). Continuous deployment is called at multiple states of the lifecycle process. It can be called to deploy binaries to developers, testers or production end-users.

So, continuous integration addresses the build, continuous deployment manages the move of those binaries to whoever needs them, and continuous delivery orchestrates the entire process like a job scheduler. Continuous integration, continuous delivery and continuous deployment are used to automate the toil of moving software changes through the lifecycle as quickly and safely as possible. We did not mention continuous testing, but that is also part of the continuous delivery process. It is called once continuous deployment has delivered new binaries. It can be done in all states, performing different kinds of tests (unit, system, smoke, etc.)."

Ryan Sheldrake, Field CTO - EMEA, Lacework

"Continuous integration: The merge to a branch or master/main on every code commit to ensure a full ‘build' can be performed based on the delta change e.g., what was committed.

Continuous delivery: The continuation of the above to a ‘repository' that all release candidates and/or tags could, in theory, be deployed globally or to a subset of the target production estate or system.

Continuous deployment: The continual flow from developers/engineers into production (or subsections of the production estate, e.g. green/blue/canary) due to a high confidence in automated testing that no longer required a CAB/gate or ‘change slot' to go live."

Continuous integration, continuous deployment and continuous delivery each play an important role in the software delivery lifecycle. As Tracy Ragan noted, the terms may seem interchangeable but they are not.

To learn more about CI/CD, join DevOps Institute for SKILup Day: CI/CD on April 21, 2022. Register here to save your seat.

Jayne Groll is CEO of DevOps Institute
Share this

Industry News

October 06, 2022

Platform.sh announced it has partnered with MongoDB.

October 06, 2022

Veracode announced the enhancement of its Continuous Software Security Platform to include container security.

This early access program for Veracode Container Security is now underway for existing customers.

The new Veracode Container Security offering, designed to meet the needs of cloud-native software engineering teams, addresses vulnerability scanning, secure configuration, and secrets management requirements for container images.

October 06, 2022

Mirantis announced that Mirantis Container Runtime – latest generation of the Docker Enterprise Engine, the secure container runtime that forms the foundation of Mirantis Container Cloud and Mirantis Kubernetes Engine and is used at the heart of many other Kubernetes deployments – is now available in the Microsoft Azure Marketplace.

October 05, 2022

Perforce Software announced enhanced support for automated testing with the release of Helix ALM 2022.2.

October 05, 2022

Parasoft announced the latest releases of its API and microservices testing tools, including SOAtest, Virtualize, CTP, and Selenic.

October 05, 2022

Vaadin announced the release of four Acceleration Kits designed to make it faster and easier to build and modernize Java applications for enterprise use.

October 04, 2022

Pegasystems announced the latest release of Robot Studio, the robotic process automation (RPA) low-code authoring environment for Pega's intelligent automation platform.

October 04, 2022

EvolveWare announced the Agile Business Rules Extraction (Agile BRE) solution on its Intellisys platform.

October 04, 2022

Mabl announced new features that empower quality professionals to easily validate APIs as part of their integrated end-to-end tests.

October 03, 2022

Spectro Cloud announced a major new release of its Palette Edge platform.

October 03, 2022

Arcion announced agentless change data capture (CDC) for all of its supported databases and applications.

September 29, 2022

CloudBees announced the acquisition of ReleaseIQ to expand the company’s DevSecOps capabilities, empowering customers with a low-code, end-to-end release orchestration and visibility solution.

September 29, 2022

SmartBear continues expanding its commitment to the Atlassian Marketplace, adding Bugsnag for Jira and SwaggerHub Integration for Confluence.

Bugsnag developers monitoring application stability and documenting in Jira no longer need to interrupt their workflow to access the app. Developers working in SwaggerHub can use the macro to push API definitions and changes directly to other teams and business stakeholders that work within Confluence. By increasing the presence of SmartBear tools on the Atlassian Marketplace, the company continues meeting developers where they are.

September 29, 2022

Ox Security exited stealth today with $34M in funding led by Evolution Equity Partners, Team8, and M12, Microsoft's venture fund, with participation from Rain Capital.

September 29, 2022

cnvrg.io announced that the new Intel Developer Cloud is now available via the cnvrg.io Metacloud platform, providing a fully integrated software and hardware solution.