This project demonstrates a streamlined DevOps pipeline for a static web application. It automates the entire process of building, containerizing, and testing a directory site for Gondia, Maharashtra using Docker, NGINX, and GitHub Actions.
The main goal is to showcase an "Infrastructure as Code" approach where every code change is automatically verified through a pipeline before deployment.
The following diagram illustrates the fully automated pipeline workflow that is executed every time code is pushed to the main branch. It visualizes the logic in your .github/workflows/deploy.yml file.
- Trigger: A developer pushes changes to the
mainbranch. - Pipeline Activation: GitHub Actions detects the push and starts the defined workflow (
deploy.yml). - Docker Build: The pipeline uses the
Dockerfileto create a new, updated Docker image containing yourindex.html. - Health Check: It then spins up the new NGINX container.
- Automated Verification: The workflow executes a
curltest (curl localhost:8080) to confirm the web server is successfully responding with a200 OKstatus. - Status Report: If the test passes, the pipeline completes successfully. If it fails, you are notified of the error.
| Technology | Purpose |
|---|---|
| HTML5 / CSS3 | Frontend content for the Gondia Directory website. |
| Docker | Containerization of the application and its environment. |
| NGINX | High-performance web server that serves the static files. |
| GitHub Actions | Automated CI/CD platform that executes the pipeline. |
.
βββ .github/workflows/
β βββ deploy.yml # The CI/CD "brain" (Workflow Automation)
βββ index.html # Main website file
βββ Dockerfile # Instructions to create the NGINX image
βββ README.md # Documentation (You are reading this)