Continuous Integration (CI) refers to automated, continuous integration testing on code changes, and Continuous Delivery (CD) refers to automated, continuous deployment on code changes. These concepts are often implemented together, hence why they are often referred to as CI/CD instead of just CI or CD.
Continuous Delivery is the ability to get changes of all types -- including new features, configuration changes, bug fixes, and experiments -- into production, or into the hands of users, safely and quickly in a sustainable way. -Jez Humble
The aim is to increase early defect discovery, increase productivity, and provide faster release cycles.
CI/CD services compile the incremental code changes made by developers, then link and package them into software deliverables. The process is automated once the developer pushes changes to the repo.
Benefits of CI/CD
Fast Feedback Cycle
Flexible Release Options
CI/CD Pipeline Process
Developers main role in the process is committing the change to the repository. The commit triggers the build. If that fails, the developer will be notified. The developer will then have to fix the code so that the build doesn't fail. Developers also work on creating the tests to run. While the tests are automated, what to test and what type of tests to run are integral for developers.