Skip to content

CI/CD Mastery Path

Mastery Path
BOOTCAMP

Most CI/CD problems are not exotic. A pipeline that is green because the tests ran in the wrong order. A cache that makes builds fast and wrong. A matrix of 108 jobs that nobody counted. A rename migration that breaks the old version during the deploy. A canary that cannot see a 20% regression. A ${{ github.event.pull_request.title }} pasted into a shell script. None of these are bugs in the tools. They follow from how pipelines actually work, and this course shows each one, with an experiment or a test wherever it could be run.

It assumes you can use Git and a terminal and write small programs. It doesn't assume any CI/CD experience.

Level 1 is the foundation: what CI and CD are, pipeline anatomy, GitHub Actions and Jenkins essentials, testing gates, reproducible builds and caching, artifacts and versioning, secrets, branching and pull-request checks, ending with a local CI runner you can run. Level 2 goes deeper: matrices and parallelism, cache design, reusable pipelines, containers in CI, flaky tests, quality gates, environments and approvals, runners, monorepos and a workflow linter. Level 3 is delivery: deployment strategies, feature flags, database migrations, rollbacks, infrastructure pipelines, GitOps, releases, supply-chain security and DORA metrics, ending with a canary simulator. Level 4 is scale: threat-modelling pipelines, speed and cost, Jenkins and Actions fleets, audit, testing pipelines, incidents, migration, golden paths and a capstone.

Every lesson has a How It Actually Works section: why two identical tarballs have different hashes, why a skipped required check blocks a merge, why 100% coverage can catch nothing, why a pool that is 90% busy makes jobs wait minutes, and why deleting a leaked secret from Git does not un-leak it.

Read this first: what was actually run

This course was written on a Mac with no GitHub Actions account, Jenkins server, Kubernetes cluster or cloud account, so no pipeline here was run on GitHub Actions or Jenkins, and no output is presented as coming from them. What I did instead, and what each lesson labels:

  • Run locally: a 150-line CI runner (minici) that exhibits job ordering, matrices, caches, artifacts and failure propagation; measured experiments with git, tar, pytest and coverage; real SQLite schema-migration experiments; real sockets on loopback; checksum tamper tests; and simulations (flaky-test arithmetic, canary statistics, runner-queue waits) with the model stated and checked against theory where a formula exists.
  • Tested Python tools with pytest suites, 173 tests in all: a Jenkinsfile linter, a secret scanner, a workflow linter, a path-filter mapper, a wait-for-port helper, a canary simulator, a feature-flag evaluator, a GitOps reconciler, an infrastructure plan guard (on hand-written fixtures), a version-bump tool, a DORA calculator, a pipeline performance model, a queue simulator, an audit-log chain, a workflow converter, a golden-path generator and a release-readiness check.
  • Described, not run: GitHub Actions and Jenkins behaviour, environments and approvals, platform caches and limits, Terraform, Argo CD, signing and provenance tools. These come from docs.github.com, jenkins.io and general knowledge as read in October 2026, are marked "not run", and change over time: check current documentation.

Where an experiment gave a result that surprised me (a rollback test I predicted wrongly, a SQLite error when dropping a column, a python3 that was not the interpreter I expected, a tarball whose hash differed because of the gzip header), the lesson says so rather than inventing a clean story.

How the program is organized

Level Focus Modules What you can do after
1 · CI/CD Foundations CI/CD concepts, pipeline anatomy, Actions and Jenkins, testing gates, caching, artifacts, secrets, PR checks 10 Build and reason about a working pipeline end to end
2 · Pipelines in Depth Matrices, cache keys, reuse, containers, flaky tests, gates, environments, runners, monorepos 10 Make pipelines fast, trustworthy and maintainable
3 · Delivery & Release Engineering Deployment strategies, flags, migrations, rollbacks, IaC, GitOps, releases, supply chain, DORA 10 Ship changes safely and undo them when needed
4 · Pipelines at Scale Threat model, speed and cost, Jenkins and Actions at scale, audit, testing pipelines, incidents, migration, golden paths 10 Run delivery as a platform for many teams

Each level has 9 teaching modules plus a hands-on project (module 10), for 40 lessons total.

How to use this site

  • Get a repository to practise on: a GitHub account with a scratch repository, or a local Jenkins in a container. Never experiment on a pipeline that deploys to something you care about.
  • Read the "what was run" note at the top of each lesson: it tells you whether an output was observed, modelled, or described from documentation.
  • Run the local tools in the src/ folder of the course repository: python3 -m pytest -q src runs all 173 tests; minici.py runs a pipeline on your machine.
  • Do the exercises, especially "predict, then run".
  • Do the projects: each combines its level into a tested tool.

More from the Mastery Path series

Free, structured, module-wise training across 97 other languages, platforms and disciplines — expand a category to browse:

Languages 20
Web Frameworks 11
Mobile 2
Testing & QA 6
Security 2
Cloud Platforms 5
Data & Analytics 7
Databases 5
AI / ML / LLM 11
Embedded Systems 5
Leadership & Management 5
Professional Skills 2
Careers & Interviews 2
Process & APIs 3
Infrastructure & Ops 11