← Back to trackModule: Packaging and Deployment

INTERMEDIATE · Hard · 65m

Safe deployment patterns

CI/CD: Starter to Shipping

Lesson notes

Goal

Release changes without taking production down.

Patterns

Rolling

Update instances gradually. Simple, but can still cause partial outages.

Blue/Green

Two environments:

  • blue = current
  • green = new
  • Switch traffic when green is healthy.

Canary

Send 1%, then 10%, then 50% traffic to the new version while watching metrics.

What makes deployments safe

  • readiness and liveness probes
  • health checks before traffic switch
  • fast rollback plan
  • monitoring: error rate, latency, saturation

Rollback strategy

Always keep the previous known-good artifact available.

Exercise

Write a deployment checklist for your app:

  • pre-checks
  • deploy steps
  • verification steps
  • rollback steps

Next Step

Platform engineering: learn Kubernetes/GitOps so these patterns become standard.

View full outline

Outline

Use the outline to jump to any topic.

Track tools

Search lessons, continue where you left off, and track completion.

Modules

3

Lessons

6

Estimated Time

340m

Completion

0%

0/6 lessons

Your progress: 0%

Complete a lesson to increase progress

Outline

Open a lesson for full notes. Mark completed to update your progress.

Goal: Understand what CI/CD automates and how it reduces risk in shipping software. The delivery pipeline (simple) CI/CD is not a tool. It is a set of automated checks + repeatable steps. CI (Continuous Integration) Focu…

Goal: Build pipelines that developers trust: fast feedback and stable results. Key principles fail fast (lint/unit tests early) deterministic builds (pin versions) cache smart (dependencies) keep stages small and clear a…

Goal: Create a workflow that is secure, repeatable, and deploy ready. A clean workflow structure Keep CI separate from deploy if possible. Key things to get right least privilege permissions secrets from GitHub Secrets (…

Goal: Find root causes fast when CI/CD fails. Debug checklist 1. Which step failed? 2. Is it deterministic or flaky? 3. Did dependencies change? 4. Is the environment different from local? 5. Does it fail only on main? T…

Goal: Build reproducible Docker images and tag them in a way that supports rollbacks. Multi stage builds (why) smaller final image faster builds fewer runtime dependencies Tagging strategy (simple and effective) Use: imm…

Goal: Release changes without taking production down. Patterns Rolling Update instances gradually. Simple, but can still cause partial outages. Blue/Green Two environments: blue = current green = new Switch traffic when…