CD vs CI
Stands for continuous deployment.
| CD | CI | |
|---|---|---|
| Definition | Continuous Deployment, or Continuous Delivery, is a software engineering approach where code changes are automatically released to the production environment through a series of automated tests. | Continuous Integration (CI) is a software development practice where developers regularly merge their code changes into a central repository, followed by automated builds and tests. It's a core practice of the DevOps philosophy. |
| Categories | DevOps, alm, automation, ci, deploy, release | ALM, CI, DevOps, automation, development, quality |
What is CD?
Stands for continuous deployment.
Definition
Continuous Deployment, or Continuous Delivery, is a software engineering approach where code changes are automatically released to the production environment through a series of automated tests.
Process
New code changes go through a test and inspection pipeline, and if they are approved, are directly deployed to the production environment.
Correction
Frequent deployments facilitate the finding and fixing of bugs, as bugs are more recent and easier to trace.
What does CI mean?
Stands for Continuous Integration.
Definition
Continuous Integration (CI) is a software development practice where developers regularly merge their code changes into a central repository, followed by automated builds and tests. It's a core practice of the DevOps philosophy.
Automation
CI involves both a cultural component, promoting frequent integration, and an automation component. Code changes trigger automated build processes to create executable software.
Goals
The key goals of CI are to find and fix errors quickly, improve software quality, and reduce the time it takes to validate and release new software updates.
Confidence
Frequent integration generates confidence that the code base is always in a functional state.
Test Coverage
CI should include a comprehensive set of automated tests to cover different aspects of the software and ensure its QA level.