Continuous integration (CI) and continuous delivery (CD) have been widely adopted in modern software development enabling organizations to quickly deploy these software to customers. But doing it in the right way is equally important, as in some cases, unfinished code can lead to failures and customers have to face downtime. To solve this, progressive delivery was introduced, which enables the delivery of software with the right changes to the right amount of customers at the right time. More precisely, it controls the speed at which changes are deployed for a software.
Traditional CI/CD and Progressive Delivery
Continuous integration (CI) is an automation process that helps in continuously integrating software development changes. It automates the building, testing, and validation of the source code. Its goal is to ultimately produce a packaged artifact that is ready to deploy.