This project implements a CI/CD pipeline using Terraform and AWS. It automates infrastructure provisioning and deployment using GitHub Actions, Docker, and Amazon ECR. This setup ensures efficient, scalable, and consistent application delivery.
- Git 🐙: Version control system to track changes.
- GitHub 🌐: Hosting the repository and managing CI/CD workflows with GitHub Actions.
- GitHub Actions ⚙️: Automating the CI/CD pipeline.
- Terraform 🌍: Infrastructure as Code (IaC) tool to provision AWS resources.
- AWS EC2 🖥️: Virtual servers to host applications.
- Docker 🐳: Containerization of applications.
- Amazon ECR 🐋: Storing and managing Docker images.
infra-deploy-aws/
├── .github/
│ └── workflows/
│ └── ci-cd.yml
├── terraform/
│ ├── main.tf
│ ├── variables.tf
│ └── outputs.tf
├── docker/
│ ├── Dockerfile
│ └── app/
│ └── ...
└── README.md
- Automated CI/CD: Continuous Integration and Continuous Deployment using GitHub Actions.
- Infrastructure as Code: Manage infrastructure using Terraform.
- Scalability: Easily scale applications with AWS EC2 and Docker.
- Version Control: Track changes and collaborate with Git.
- Git: Install Git
- Terraform: Install Terraform
- Docker: Install Docker
- AWS CLI: Install AWS CLI
-
Clone the repository:
git clone https://github.com/Abhi-lash19/infra-deploy-aws.git cd terraform-aws-cicd
-
Set up Terraform:
cd terraform terraform init terraform apply
- Trigger CI/CD Pipeline: Push changes to the GitHub repository to trigger the CI/CD pipeline.
- Deploy Application: Terraform scripts will automatically provision infrastructure and deploy the application.