Skip to main content

Project

CI/CD Pipeline for NGINX on Docker

End-to-end CI/CD pipeline — Terraform provisions AWS infrastructure, Ansible configures hosts via dynamic inventory, Docker packages NGINX, and Jenkins orchestrates every stage.

Type
DevOps / CI/CD
Status
Completed
Year
CI/CD Pipeline for NGINX on Docker architecture diagram
  • Terraform
  • Ansible
  • Jenkins
  • Docker
  • NGINX
  • AWS
  • EC2
  • CI/CD
  • IaC

What I Built

A fully automated pipeline that takes a Dockerized NGINX web server from code commit to running AWS deployment — no manual steps, no SSH, no ClickOps.

  1. Docker — Packages NGINX with a self-signed OpenSSL certificate into a portable container image.
  2. Terraform — Defines EC2 instances, security groups, and key pairs as code. One terraform apply stands up the infrastructure.
  3. Ansible — Configures EC2 instances using AWS dynamic inventory for real-time host discovery. Playbooks install Docker and deploy the container.
  4. Jenkins — Orchestrates the full flow: on each Git push, Jenkins runs Terraform, executes the Ansible playbook, and smoke-tests the deployment.

Pipeline

Git Push → Jenkins Trigger
  → Terraform Apply (provision/update EC2)
  → Ansible Playbook (configure + deploy container)
  → Smoke Test (verify NGINX is responding)

Read More

More projects

Portfolio Site Modernization

Rebuilt my portfolio from a static AWS-hosted resume into a modern Next.js 15 site with Tailwind CSS v4, MDX content pipeline, Pagefind search, dark/light theme, PWA support, and Cloudflare Pages deployment.

Read more

Azure Web Store on Kubernetes

Microservices web store on AKS — Java Spring Boot services, Azure B2C identity, API Management gateway, and GitHub Actions CI/CD.

Read more