Skip to content

This repository highlights the Cloud DevOps project designed for iVolve. It automates application deployment processes with CI/CD pipelines, infrastructure-as-code (IaC), and container orchestration. Tools used include Jenkins, Docker, Kubernetes, and cloud services to deliver scalable and efficient deployments.

Notifications You must be signed in to change notification settings

Ahmed-Jim1/CloudDevOpsProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ivolve-lg

Final Project: Automating Java App Deployment with Terraform, Ansible, Jenkins Pipelines, AKS, and Continuous Sync via Argo CD.

  1. Project Overview
  2. Technologies Used
  3. Setup Instructions
  4. Troubleshooting Guidelines

Project Overview

This project focuses on building a complete DevOps pipeline that incorporates containerization, infrastructure provisioning, AWS integration, configuration management, and continuous integration. The final deployment happens on an Azure Kubernetes Service (AKS) cluster using Jenkins pipelines.

final-elfinal

Look at each directory README.md File


Technologies Used

  • Docker: Containerizing the application.
  • Terraform: Provisioning AWS infrastructure.
  • AWS Services: VPC, EC2, S3, CloudWatch.
  • Ansible: Configuring EC2 instances.
  • Jenkins: Building CI/CD pipelines.
  • SonarQube: Code quality analysis.
  • Argo-CD: Manage k8's cluster.
  • Azure Kubernetes Service (AKS): Application deployment

Setup Instructions

  1. Clone the repository:
    git clone https://github.com/Ibrahim-Adell/FinalProjectCode
    cd FinalProjectCode
  2. Run Terraform to provision AWS infrastructure:
    cd terraform
    terraform init
    terraform apply
  3. Configure EC2 instances with Ansible: On your master machine setup your inventory and run this command
    cd Ansible/master
    ansible-playbook -i inventory playbook.yml
    On your slave machine setup your inventory and run this command
    cd Ansible/slave
    ansible-playbook -i inventory playbook.yml
  4. Configure Jenkins pipeline:
    • Add the Jenkinsfile to your Jenkins job.
    • Use shared libraries for pipeline stages.
  5. Verify AKS Deployment:
    kubectl get pods
    kubectl get services

Troubleshooting Guidelines

  • Terraform State Issues:
    • Ensure S3 backend is correctly configured and accessible.
  • Ansible Playbook Failures:
    • Verify SSH access to EC2 instances.
    • Check package manager dependencies.
  • Jenkins Pipeline Failures:
    • Check the Jenkins logs and shared library configurations.
  • AKS Deployment Issues:
    • Verify kubectl CLI is configured correctly.
    • Check the deployment YAML syntax.

Conclusion

This project delivers a complete DevOps pipeline integrating Docker, Terraform, Ansible, Jenkins, and AWS. The final application is deployed on Azure Kubernetes Service (AKS), ensuring scalability and maintainability.

About

This repository highlights the Cloud DevOps project designed for iVolve. It automates application deployment processes with CI/CD pipelines, infrastructure-as-code (IaC), and container orchestration. Tools used include Jenkins, Docker, Kubernetes, and cloud services to deliver scalable and efficient deployments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published