This project implements a fully automated CI/CD pipeline designed to deploy a containerized 3-tier architecture. The solution leverages modern DevOps practices and tools to ensure consistent, reliable, and automated deployments.
The architecture consists of three main tiers, each containerized using Docker and orchestrated with Docker Compose. The entire infrastructure is provisioned and managed using Infrastructure as Code (IaC) principles.
- Fully automated CI/CD pipeline using Jenkins
- Containerized application architecture using Docker and Docker Compose
- Automated infrastructure provisioning with Terraform
- Configuration management through Ansible
- Seamless integration with GitHub for source control
- Automated deployment to AWS EC2 instances
- Container registry integration for image management
- Containerization: Docker, Docker Compose
- CI/CD: Jenkins
- Version Control: GitHub
- Cloud Infrastructure: AWS EC2
- Infrastructure as Code: Terraform
- Configuration Management: Ansible
- Deployment: Automated scripts
- Code retrieval from GitHub repository
- Docker image building and testing
- Image pushing to container registry
- Infrastructure provisioning via Terraform
- Server configuration using Ansible
- Application deployment to AWS EC2
- Provisioning: Terraform handles the automated creation and management of AWS EC2 instances
- Configuration: Ansible ensures consistent server setup and environment configuration
- Scaling: Infrastructure can be easily scaled up or down through IaC
- AWS Account with appropriate permissions
- Jenkins server
- Docker and Docker Compose
- Terraform installed
- Ansible installed
- GitHub account
