Skip to main content

CI/CD

Continuous Integration / Continuous Delivery

Updated 2 min read

Share this page

Send the link, quote the definition with a link back, or show it as a card on your own site.

https://softwaredictionary.org/terms/ci-cd

In short

CI/CD is a set of automated practices that build, test, and release code changes frequently, so software can be delivered to users quickly and safely.

What is CI/CD?

CI/CD combines two related practices. Continuous integration (CI) means developers merge their changes into a shared branch often, at least daily, and each change automatically triggers a build and a test run. Continuous delivery (CD) extends this so every change that passes the tests is automatically prepared for release and can be deployed at any time.

The work is done by a pipeline, a sequence of automated steps defined in a configuration file stored with the code. A typical pipeline installs dependencies, runs linters and tests, builds the application or a container image, and deploys it to a staging or production environment. Common tools include GitHub Actions, GitLab CI/CD, Jenkins, CircleCI, and Azure Pipelines.

Think of CI/CD as an assembly line with a quality check at every station: each small change is inspected automatically, and problems are caught minutes after they are introduced instead of weeks later. This makes releases routine and low-risk rather than rare, stressful events.

The CD part has two meanings that are often confused. In continuous delivery, a person still approves the final release to production, while in continuous deployment, every change that passes the pipeline goes live automatically with no manual step. Both depend on a reliable automated test suite.

At a glance

A CI/CD pipeline runs commit, build, test, deploy to staging and deploy to production; when a test fails, the pipeline stops and nothing is deployed.CICDTests passCommitBuildTestStagingdeployProductiondeployA test failsCommitBuildTest1 failedStagingskippedProductionskippedthe pipeline stops here
Every change goes through the same automated checks, and a failing test stops it before it reaches users.

Key takeaways

  • CI automatically builds and tests every change merged into the shared codebase.
  • CD keeps the code always ready to release, or releases it automatically.
  • Pipelines are defined in configuration files stored alongside the code.
  • Continuous delivery has a manual approval step; continuous deployment does not.
  • CI/CD is one of the core practices of DevOps.

Example

A simple CI pipeline in GitHub Actionsyaml
# .github/workflows/ci.yml: run the tests on every push and pull request
name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: actions/setup-node@v5
        with:
          node-version: 24
      - run: npm ci
      - run: npm test

Readers ask

What is the difference between continuous delivery and continuous deployment?

With continuous delivery, every change is automatically tested and made ready for release, but a person decides when to deploy to production. With continuous deployment, every change that passes the pipeline is released to production automatically.

What is a CI/CD pipeline?

A CI/CD pipeline is the automated sequence of steps, such as build, test, and deploy, that runs each time the code changes. It is usually defined in a configuration file stored in the same repository as the code.

Is CI/CD the same as DevOps?

No. DevOps is a broader culture that unites development and operations, and CI/CD is one of its most important practices for automating how code is tested and released.

See also

Sources

Spotted a mistake or something missing on this page?Suggest an edit

Read a random page
Open today's review
Switch to the dark theme
Read this page in Türkçe

More

Settings