What Is CI/CD? A Beginner's Guide to the Big Picture
CI/CD is the practice of automating how code moves from a developer's laptop to production, safely and repeatedly.
CI/CD stands for Continuous Integration and Continuous Delivery (or Deployment). It is the backbone of modern software teams: a set of automated steps that build, test, and ship your code every time it changes. This first lesson gives you the big picture so the rest of the course makes sense.
Breaking down the acronym
The CI in CI/CD is *Continuous Integration*: every change a developer makes is merged into a shared codebase frequently, and an automated system builds and tests it right away. The CD can mean *Continuous Delivery* (the code is always kept in a deployable state, with a human pressing the final button) or *Continuous Deployment* (every change that passes the pipeline ships to production automatically). Together they form a single automated path from commit to running software.
A pipeline, not a tool
CI/CD is a *practice* implemented by a *pipeline*. The pipeline is a sequence of automated stages - typically build, test, and deploy - that runs whenever your code changes. Tools like GitHub Actions, GitLab CI, Jenkins, and CircleCI execute these pipelines, but the underlying idea is the same everywhere: replace slow, error-prone manual steps with fast, repeatable automation.
What CI/CD actually does for you
- Catches bugs early by running tests on every change, before they reach users.
- Keeps the main branch always releasable, so shipping is a routine non-event.
- Removes manual deploy steps, which are the source of most production mistakes.
- Gives the whole team fast, objective feedback on whether a change is safe.
A tiny first example
Here is the smallest possible CI pipeline in GitHub Actions. On every push, it checks out your code and runs your tests. Do not worry about the syntax yet - you will learn every line later in the course.
name: CI
on:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm testKey takeaways
- CI = integrate and test every change automatically; CD = keep it deployable (delivery) or ship it automatically (deployment).
- CI/CD is a practice executed by a pipeline made of build, test, and deploy stages.
- The goal is fast feedback and safe, repeatable releases without manual toil.