GitHub Actions Capstone: Full CI/CD Pipeline Built from Scratch

Day 48 of #90DaysOfDevOps — and today I shipped something I'm genuinely proud of. 🚀 The GitHub Actions Capstone. A full production-grade CI/CD pipeline built from scratch — no shortcuts. Here's what the pipeline does: 🔵 PR opened → runs tests only (no Docker push) 🟢 Merge to main → tests → Docker build & push → deploy to production ⏰ Every 12 hours → automated health check on the live container 5 workflow files working together: ✅ reusable-build-test.yml — pytest on my Flask Task Manager app ✅ reusable-docker.yml — builds & pushes image to Docker Hub ✅ pr-pipeline.yml — test gate on every PR ✅ main-pipeline.yml — full build → push → deploy sequence ✅ health-check.yml — scheduled curl check with GitHub Step Summary Bugs I had to debug along the way (real learning 👇): → Hyphen vs underscore in workflow inputs — GitHub treats them as different names → Missing job-level outputs block — reusable workflow outputs were always empty → Can't mix uses: and run: in the same job — had to rewrite the deploy job → requirements.txt not found — app lives in a subfolder, needed working directory → pytest not installed — had to explicitly add it to the install step Every error was a lesson. Every green checkmark felt earned. 📁 Repo: https://lnkd.in/gWRPFXEH #90DaysOfDevOps #DevOpsKaJosh #TrainWithShubham #GitHubActions #DevOps #Docker #CICD #Python #Flask

  • No alternative text description for this image

To view or add a comment, sign in

Explore content categories