Phase 15Days 140-147

Docker & CI/CD (GitHub Actions)

Containerize confidently, then automate test → build → deploy on every push

Phase Goal

Understand containers deeply — images, layers, multi-stage builds, Compose, networking, volumes — then build GitHub Actions pipelines that lint, test, build images, and deploy automatically and safely.

Progress
Notes

Open the written lectures for this course before checking off the phase topics.

Projects
Flood-Alert Canary Delivery Pipeline — DEPLOYED

Day 140: Docker Mental Model & Fundamentals

Day 141: Writing Dockerfiles for Node

Day 142: Multi-Stage Builds & Image Optimization

Day 143: Docker Compose for Multi-Service Dev

Day 144: Docker in Depth

Day 145: GitHub Actions Fundamentals

Day 146: CI Pipeline — Lint, Test, Build

Day 147: Project — Flood-Alert Canary Delivery Pipeline

Capstone
Flood-Alert Canary Delivery Pipeline — DEPLOYED

Containerize a flood-alert subscription service and build a safe release system around it: multi-stage image, Compose development stack, GitHub Actions gates, staging, a canary smoke test against fixture gauges, manual production approval, health verification, and a tested rollback.

  • Reproducible multi-stage image and Compose stack with environment separation.
  • CI runs lint, type checks, tests, image build, and dependency security checks.
  • Staging verification, production approval, health check, and a tested rollback procedure.

Phase Complete!

After this phase, you'll be able to:

  • Docker mental model: images, layers, registries, container lifecycle
  • Production Dockerfiles: multi-stage, non-root, healthchecks, small images
  • Docker Compose multi-service local dev with networks & volumes
  • Docker networking, volumes, secrets, and debugging in depth
  • GitHub Actions: workflows, matrix, caching, secrets, environments
  • CI that lints/tests/builds and CD that pushes images & deploys safely

You can containerize any app and ship it through an automated pipeline — the baseline expectation for a modern backend/DevOps role.