Learn

CI/CD Concepts

Continuous integration, continuous delivery, and deployment pipeline fundamentals.

What is CI/CD?

CI/CD is the practice of automating the building, testing, and deployment of software changes. It removes manual steps from the release process, making deployments faster and more reliable.

TermWhat it means
Continuous Integration (CI)Every code change is automatically built and tested
Continuous Delivery (CD)Every passing build is automatically packaged and ready to deploy
Continuous DeploymentEvery passing build is automatically deployed to production

Pipeline stages

  1. 1
    Trigger

    A git push or PR triggers the pipeline.

  2. 2
    Build

    Compile the code, build Docker images, resolve dependencies.

  3. 3
    Test

    Run unit tests, integration tests, linters, security scans.

  4. 4
    Package

    Create deployable artifacts — Docker images pushed to a registry.

  5. 5
    Deploy

    Update the running service — rolling update, blue/green, canary.

  6. 6
    Verify

    Smoke tests, health checks, automatic rollback on failure.

Common tools

ToolType
GitHub ActionsCI/CD — native to GitHub, YAML-based
GitLab CI/CDCI/CD — native to GitLab
ArgoCDGitOps — syncs Kubernetes clusters from Git
JenkinsCI/CD — self-hosted, plugin-based
CircleCIManaged CI/CD