CI/CD pipelines

Intermediate 12 min read

Run tests, checks and the build automatically on every push, and deliver only what passes.

Why it matters

People forget to run tests; machines do not. A pipeline makes every change go through the same checks and the same build, so a release is boring and repeatable.

Where it fits

  1. Plan & Design
  2. Develop
  3. Version control
  4. Verify
  5. Build & Package
  6. ● CI/CD
  7. Deploy
  8. Operate

What you will learn

  • Explain continuous integration, delivery and deployment.
  • Read a pipeline file: triggers, jobs and steps.
  • Decide which checks must pass before merging.

Before you start

Three terms

  • Continuous integration — every push is built and tested automatically.
  • Continuous delivery — every change that passes is ready to release with one action.
  • Continuous deployment — every change that passes is released automatically.

A small pipeline

.github/workflows/ci.yml
name: CI
on:
  push:
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm run lint
      - run: npm test
GitHub Actions syntax. Other CI systems use the same ideas with different file formats.

Tip: Make the pipeline required for merging (branch protection). A check that can be skipped will be skipped.

Watch out: Pipelines often hold deploy credentials. Store them in the CI system's secret store, never in the pipeline file.

Official documentation and references

Documentation

Guides

Learn next

Done with this topic?

Reviewed 2026-10-23. Links go to the official documentation unless marked otherwise.