Continuous delivery (CD) is a software development practice that works in conjunction with continuous integration to automate the application release process. Once continuous integration builds and tests code in a shared repository, continuous delivery takes over during the final stages to ensure software releases are low-risk, consistent, and repeatable. With continuous delivery, software is built so that it can be deployed to production at any time.
Continuous delivery is often used interchangeably with continuous deployment, but there is a subtle difference between the two. Continuous deployment means that all CI-validated code deploys to production automatically, whereas continuous delivery means that this code can be deployed. The flexibility for code to be deployed at any time is what differentiates delivery from deployment, and practicing continuous deployment is possible when continuous delivery is already in place.
Continuous integration is the practice of integrating code into a shared repository and building/testing each change automatically, as early as possible; usually several times a day.
Continuous delivery ensures CI-validated code can be released to production at any time.
Use these resources to learn more about continuous delivery. We would love to get your recommendations on books, blogs, videos, podcasts and other resources that tell a great CD story or offer valuable insight on the definition or implementation of the practice.
Please share your favorites with us by tweeting us @gitlab!
GitLab is more than just source code management or CI/CD. It is a full software development lifecycle & DevOps tool in a single application.Try GitLab Free