# Summary

CI/CD stands for Continuous Integration and Continuous Delivery/Deployment. It’s a development practice that automates building, testing, and delivering software so code changes can be released quickly and reliably.

## Continuous Integration (CI)

CI means developers frequently merge their code into a shared repository. Every time code is pushed:

1.  The code is built automatically.
2.  Automated tests run.
3.  If something breaks, the team is alerted.

Goal: catch bugs early and ensure new code works with the rest of the project.

## Continuous Delivery / Continuous Deployment (CD)

CD takes the tested code from CI and prepares it for release.

  - Continuous Delivery: Code is automatically prepared for production, but a human approves the final deployment.

  - Continuous Deployment: Code is automatically deployed to production with no manual approval.

Goal: make releases faster and safer.

## Pipelines

A pipeline is the automated workflow that runs these steps in sequence. Think of it as a script that defines what happens after a code change.

Typical pipeline stages:

1.  Source – code pushed to repository
2.  Build – compile the application
3.  Test – run automated tests
4.  Package – create deployable artifact (e.g., Docker image)
5.  Deploy – release to staging or production

Example simplified pipeline:

`Code Push → Build → Test → Package → Deploy`

Why CI/CD is useful

  - Faster development cycles

  - Fewer integration bugs

  - Automated testing and deployment

  - More reliable releases

Common CI/CD tools

  - GitHub Actions

  - Jenkins

  - GitLab CI/CD

  - CircleCI

In short:
CI/CD uses pipelines to automatically build, test, and deploy software whenever code changes are made.
