This project demonstrates an end-to-end CI/CD pipeline that provisions AWS infrastructure using Terraform and deploys a Dockerized Nginx application on an EC2 instance.
- Infrastructure provisioning using Terraform (VPC, Subnet, EC2, Security Groups)
- CI/CD automation using GitLab CI
- Secure SSH key generation using Terraform TLS provider
- Docker-based Nginx deployment
- Automated application testing
- Manual infrastructure teardown
- AWS (EC2, VPC, Security Groups)
- Terraform
- GitLab CI/CD
- Docker
- Linux
- Apply β Provisions AWS infrastructure
- Deploy β Deploys Dockerized Nginx to EC2
- Test β Verifies application availability
- Destroy β Manually destroys infrastructure
- No hardcoded secrets
- SSH keys generated dynamically
- Artifact-based key handling across pipeline stages
- Configure AWS credentials as GitLab CI variables
- Run pipeline
- Access application via EC2 public IP
- GitLab pipeline success
- Nginx running in browser