Cloud & DevOps7h estimated

CI/CD Pipelines

Difficulty
Importance

The problem

Manually testing and deploying every code change is slow and inconsistent, and skipping steps under time pressure is how bugs and outages reach production — CI/CD automates the exact same sequence of build, test, and deploy steps on every change, removing both the manual toil and the temptation to cut corners.

Why now

Shell scripting and piping already established that a sequence of commands can be saved and automated; CI/CD pipelines are exactly that automation, triggered by a code change instead of a human typing a command, and package management already showed that a build has real, resolvable dependencies to install before anything else can run.

Mental model

A CI/CD pipeline is a shell script with a trigger: on every push, automatically run the same build-test-deploy sequence a developer would otherwise run by hand — continuous integration is the build-and-test half (catching problems immediately), continuous deployment is extending that same automation all the way to production, removing the manual, error-prone 'deploy day' step entirely.

Requires

Unlocks

Used in

Projects

  • Set up a CI pipeline for a small project that automatically runs tests on every push and blocks merging if they fail
  • Extend the pipeline to build and push a container image automatically once tests pass, completing a basic CI/CD flow

Examples

  • A pull request that fails its test suite is automatically blocked from merging, without a human needing to remember to run tests locally first
  • A merge to main automatically triggers a build, test, and deploy sequence, reaching production without any manual deployment step

Resources

Mastery checklist