- CI means merging small changes often and checking each one automatically with a build and tests.
- Continuous delivery keeps every change ready to release with one click. Continuous deployment releases it automatically.
- A pipeline is the automated path from a commit to a running application.
- You can start with one short workflow file that builds and tests on every pull request.
Years ago, teams shipped software every few months. Developers worked alone for weeks, merged everything at the end and spent days fixing the clashes. CI/CD grew out of that pain: make changes small, check them automatically and release them constantly.
This guide explains what CI/CD is without jargon, and ends with a file you can paste into a real project.
What CI/CD means
CI/CD stands for continuous integration and continuous delivery (or continuous deployment). It is a set of practices backed by automation tools, usually part of a wider DevOps approach.
The goal is simple: whenever someone changes the code, a system proves that the change still works and, if you choose, ships it.
Continuous integration (CI)
With CI, every developer merges their work into the shared branch often, often several times a day. Each merge triggers an automatic job that builds the project and runs the tests. If something fails, the team sees it within minutes, while the change is still fresh in the author’s mind.
Good CI depends on good habits: small pull requests, a clear branching approach (see Git merge vs rebase) and tests that are fast and reliable.
Continuous delivery vs continuous deployment
The two CDs differ by one decision: who presses the release button.
| Practice | What happens after tests pass | Human step |
|---|---|---|
| Continuous integration | Build and test every change | Review and merge |
| Continuous delivery | The change is packaged and ready to release at any time | Someone approves the release |
| Continuous deployment | The change goes to production automatically | None, apart from the earlier code review |
Most teams begin with continuous delivery and move to continuous deployment only when their tests and monitoring are strong enough to trust.
What a CI/CD pipeline does
A pipeline is a series of automated stages. If one stage fails, the pipeline stops, and the change does not move forward.
- Source: a commit or pull request triggers the run.
- Build: compile the code or build a container image.
- Test: unit tests first, then integration and end-to-end tests. See our end-to-end testing best practices.
- Package: create the artifact you will release, such as an image or a bundle.
- Deploy: send it to staging, then to production.
- Monitor: watch errors and performance, and roll back if needed.
Many pipelines build containers. If that is new, read our Docker tutorial for beginners and the Docker Compose tutorial for running dependent services.
A working example
This is a complete CI workflow for GitHub Actions. It checks out the code, installs dependencies and runs the tests and the build on every pull request and on every push to main.
# .github/workflows/ci.yml
name: CI
on:
pull_request:
push:
branches: [main]
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm test
- run: npm run build
Commit the file and open a pull request. GitHub shows a green check or a red cross next to your commit. For a deeper walkthrough with secrets, caching and deployment, see our GitHub Actions CI/CD guide, or run browser tests in it with the GitHub Actions Playwright workflow.
Benefits and costs
- Faster feedback: you learn about a broken change in minutes, not weeks.
- Smaller risk: small releases are easier to understand and to undo.
- Consistent releases: the same steps run every time, with no “works on my machine”.
- Less manual work: people stop copying files and clicking through checklists.
The costs are real too: someone must maintain the pipeline, slow or flaky tests waste time, and the team needs the discipline to fix a red build immediately.
Tip: treat a failing pipeline as a stop sign. If people get used to merging on red, the whole system loses its value.
How to start with CI/CD
- Put your code in a shared repository and use pull requests.
- Add the smallest useful workflow: install, test, build.
- Make the tests fast. Keep the pipeline under ten minutes if you can.
- Require the pipeline to pass before a pull request can be merged.
- Add automatic deployment to a staging environment, then to production when you trust it.
Final thoughts
CI/CD is not a product you buy, it is a way of working supported by automation. Start with one file that runs your tests, then grow the pipeline one stage at a time.
Frequently asked questions
What does CI/CD stand for?
CI/CD stands for continuous integration and continuous delivery or continuous deployment. It describes automating the build, test and release of software.
What is the difference between continuous delivery and continuous deployment?
In continuous delivery, every change is ready to release but a person approves it. In continuous deployment, every change that passes the pipeline is released to production automatically.
What is a CI/CD pipeline?
It is the automated workflow that takes a code change through build, test, packaging and deployment stages, and stops if any stage fails.
Which tools are used for CI/CD?
Popular choices include GitHub Actions, GitLab CI/CD, Jenkins, CircleCI and Azure DevOps. Pick the one that fits where your code already lives.
Is CI/CD the same as DevOps?
No. DevOps is a broader culture of collaboration between development and operations. CI/CD is a set of practices and tools that supports it.
Keep learning
Need help with testing, WordPress or SEO?
We help teams ship better software and grow their sites. Tell us what you are working on and we will suggest a clear next step.