What Is CI/CD?
Continuous integration and continuous delivery are two approaches to software development that are designed to improve code quality and enable rapid delivery and deployment of code. They are usually deployed together (CI/CD) to ensure rapid overall delivery of new software features and fixes.
Why Code is Driving Infrastructure Investment
The rise of DevOps is driving new needs to consume infrastructure through code and requires infrastructure be delivered and managed on demand.
Continuous Integration vs. Continuous Delivery
The develop and test phase of software development is the focus of continuous integration. As developers change software code, those changes are immediately checked into a central source code control system. When code is checked in, automated build processes and tests are triggered to make sure that the changes did not break the larger software system being worked on. When shorter and more frequent develop-build-test cycles are used, coding errors are caught more quickly, and the risk associated with large-scale code changes is mitigated.
Continuous delivery means that as new software features and fixes pass through the develop-build-test cycle, they become available as rapidly as possible. When smaller changes are delivered more frequently into production, the risk of large-scale changes breaking the system goes down, and the delay in releasing them to customers is minimized.
What Is Continuous Deployment?
Continuous deployment extends CI/CD so that all changes that pass the CI/CD phase are immediately exposed to customers. With continuous deployment, customers get faster access to new features and bug fixes, and developers get more immediate feedback about the changes they’ve made.
Top CI/CD Tools
Some common CI/CD tools are: