CI/CD

1. Overview

  • CI (Continuous Integration):
    • Automated process where code changes are frequently integrated into a shared repository.
    • Each integration is verified by automated builds and tests.
    • Aims to detect errors quickly, enhance software quality, and reduce the time it takes to release software.
  • CD (Continuous Delivery/Continuous Deployment):
    • Continuous Delivery refers to the practice of keeping code in a deployable state.
      • Code changes automatically prepared for a release to production.
      • Manual approval required for production deployment.
    • Continuous Deployment allows for automatic deployment of every change that passes automated tests to production.
    • Aims to enable frequent updates and quick delivery of new features to end-users.
  • Key Components:

2. Relevant Aspects

2.1. Feature Switches

2.2. Canary Deployments

Tags::programming:meta: