CI/CD Fundamentals

Lesson 1 of 7

What is CI/CD? From Manual Deploys to Pipelines

Before CI/CD, shipping code usually meant someone manually running tests, building the app, and copying files to a server, slow, error-prone, and something only whoever "knows the deploy steps" can safely do. CI/CD automates that entire path from commit to running in production.

Continuous Integration (CI)

CI means every change gets automatically built and tested the moment it's pushed, catching integration problems (two people's changes conflicting, a change breaking existing behavior) within minutes instead of days.

Push code → CI server checks it out → installs deps → runs tests → reports pass/fail

The core promise of CI: nobody merges code that doesn't pass the automated checks, so main stays in a known-good state.

Continuous Delivery vs. Continuous Deployment

These two terms are often confused, and the difference matters:

TermWhat happens after CI passes
Continuous DeliveryA deployable build is produced and ready to ship, a human clicks a button to actually release it
Continuous DeploymentEvery change that passes CI is deployed to production automatically, no human in the loop

Both require the same underlying automation (build, test, package), Continuous Deployment just removes the manual approval step entirely, appropriate once you trust your test suite and rollback process enough.

Why automate this at all

  • Speed: changes reach users in minutes/hours instead of a scheduled weekly release.
  • Consistency: the exact same automated steps run every time, no "it worked on my machine" deploy.
  • Confidence: a broken build is caught immediately, by CI, not discovered by a user in production.
  • Auditability: every deploy has a record of exactly what changed, what tests ran, and who approved it.

NOTE

"Pipeline" is the general term for the sequence of automated steps (build → test → package → deploy), and it's the central concept the rest of this course builds on, concretely, with GitHub Actions.

📝 CI/CD Basics Quiz

Passing score: 70%
  1. 1.What is the core promise of Continuous Integration?

  2. 2.What is the key difference between Continuous Delivery and Continuous Deployment?

  3. 3.Continuous Delivery means every passing change is automatically deployed to production with no human approval.

  4. 4.The general term for the sequence of automated build/test/package/deploy steps is a ____.

  5. 5.A key benefit of CI is that broken code is caught immediately by automation rather than discovered by a user in production.

  6. 6.Which of these is NOT typically a benefit of automating CI/CD?