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
- 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.
- Docker — Packages NGINX with a self-signed OpenSSL certificate into a portable container image.
- Terraform — Defines EC2 instances, security groups, and key pairs as code. One
terraform applystands up the infrastructure. - Ansible — Configures EC2 instances using AWS dynamic inventory for real-time host discovery. Playbooks install Docker and deploy the container.
- 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)