diff --git a/README.md b/README.md index 03b6903..e8157b0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,70 @@ # nvhi-atsila-microservice +# AWS ECS CI/CD Pipeline with Terraform, Ansible & Jenkins + +A complete CI/CD pipeline for deploying microservices to AWS ECS using infrastructure as code and configuration management. + +## 🚀 Overview + +This project implements an end-to-end CI/CD pipeline that automates the build, test, and deployment of microservices to AWS ECS. The pipeline leverages DevOps best practices to create a reproducible, scalable deployment solution optimized for AWS Free Tier. + +## 🛠️ Technology Stack + +- **Terraform** - Provisions all AWS infrastructure +- **Ansible** - Configures EC2 instances with Docker and ECS agent +- **Jenkins** - Orchestrates the entire CI/CD workflow +- **Artifactory** - Hosts Docker images +- **SonarQube** - Enforces code quality gates +- **Gitea** - Git repository hosting +- **AWS ECS** - Container orchestration (EC2-backed) + +## 📋 Pipeline Workflow + +1. Developer pushes code to Gitea +2. Jenkins webhook triggers the pipeline +3. SonarQube scans code for quality compliance +4. Docker image is built from approved code +5. Image is pushed to Artifactory registry +6. Terraform provisions/updates AWS infrastructure +7. Ansible configures EC2 instances for ECS +8. Microservice is deployed to ECS cluster + +## 🏗️ Infrastructure Components + +### AWS Resources (Managed by Terraform) +- VPC with public/private subnets +- ECS cluster with EC2 container instances +- Application Load Balancer (ALB) +- Security groups and IAM roles +- Auto-scaling capabilities + +### DevOps Tools (Self-hosted) +All DevOps tools run on a dedicated Linux server: +- Jenkins for CI/CD automation +- Gitea for version control +- SonarQube for code analysis +- Artifactory for artifact management + +## 📁 Project Structure + +``` +├── terraform/ # Infrastructure as Code +├── ansible/ # Configuration management +├── jenkins/ # CI/CD pipeline definitions +├── microservice/ # Sample application +├── scripts/ # Setup and utility scripts +└── docs/ # Documentation +``` + +## 🔒 Key Features + +- **Fully Automated** - Push code and deploy automatically +- **Quality Gates** - SonarQube ensures code standards +- **Infrastructure as Code** - All resources defined in Terraform +- **Configuration Management** - Ansible ensures consistent server setup +- **AWS Free Tier** - Optimized for minimal AWS costs +- **Modular Design** - Easy to extend and customize + +## 📄 License + +This project is licensed under the MIT License. \ No newline at end of file