A CI/CD pipeline with tests, Docker and blue-green release
Build a pipeline that tests, builds and ships a small web service in Docker, with a blue-green release and a one-command rollback, so deploys stop breaking the site.
Industry project · for Tiffin Trail, a small food-ordering startup that deploys by copying files to one server at midnight
Tiffin Trail runs a small food-ordering web service. One developer deploys it by copying files to a single server at midnight and restarting it, hoping nothing breaks. Twice last month the site was down for 20 minutes because a bad deploy went straight to live users, and there was no quick way back.
The team wants deploys to be boring. They want every change tested automatically before it can ship, the application packaged the same way every time, and a release that can be undone in seconds if it misbehaves. They do not have a cluster and do not want one yet; they have two small environments and a container runtime.
You will build the pipeline around a small web service, which you can write or take as a given starter. The pipeline runs on every push: it installs dependencies, runs the tests and a linter, builds a Docker image tagged with the commit, and pushes it. A deploy step then runs the new image alongside the old one, checks it is healthy, switches traffic to it, and keeps the old one ready for a moment. If the health check fails, traffic never switches. Done looks like a green pipeline on every push, an image that runs the same on any machine, a blue-green switch that a reviewer can watch, and a rollback command that returns to the previous image in under a minute. The team signs off when a deliberately broken build is stopped by the pipeline and never reaches the running site.
GitHub repo with the service, a pipeline config, a Dockerfile, deploy and rollback scripts and a README
Stack: Git, GitHub Actions or GitLab CI, Docker, A small web framework, A test runner
- Gating pipeline30
Every push runs install, lint and tests, and a failing test or lint stops the build before any image ships.
- Reproducible image20
The app is built into a Docker image tagged by commit that runs the same on a clean machine.
- Blue-green release30
A new version starts beside the old, passes a health check, then takes traffic, and a failed check never switches.
- Rollback and docs20
One command returns to the previous image in under a minute, and the README explains the whole flow.
Pass 60% · Merit 75% · Distinction 90%
Engineering Students
Diploma, B.Tech, B.E., BCA, MCA, or M.Tech students seeking practical experience.
Aspiring Developers
Developers who want to build proof-of-work capstone projects for tech resumes.
Job Seekers
Graduates looking for AI-evaluated code review & verified industry credentials.