Skip to content

MhdAsker/Learning_Assistant_Jenkins_ArgoCD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Assistant: CI/CD with Jenkins & ArgoCD

This repository contains Study Buddy AI, an automated LLM-powered quiz generator built with Streamlit and LangChain. The project is designed to demonstrate a complete AIOps lifecycle, featuring containerization, a robust CI/CD pipeline, and GitOps deployments on a Cloud Virtual Machine.

Architecture & Tech Stack

  • Application Framework: Streamlit (Python)
  • AI Engine: LangChain, Groq API (Llama-3 models)
  • Containerization: Docker
  • CI/CD Pipeline: Jenkins
  • GitOps Delivery: ArgoCD
  • Infrastructure: Kubernetes (Cloud VM)

How it Works

  1. Frontend/Backend Engine: The application.py Streamlit app takes user queries. It connects to the Groq API utilizing LangChain schemas and prompts to securely output validated JSON-based interactive quizzes (MCQs and Fill-in-the-Blanks).
  2. Jenkins Pipeline (CI): The Jenkinsfile orchestrates the build process. UPON a code push to the main branch, Jenkins automatically triggers, pulls the code, builds the Dockerfile image, pushes the updated container to Docker Hub, updates the deployment YAML file with the new tag, and commits that change back to Git.
  3. ArgoCD GitOps (CD): ArgoCD constantly monitors the manifests/ directory in this GitHub repository. Once the Jenkins pipeline updates the deployment.yaml with the newest Docker Hub tag, ArgoCD detects the change and automatically synchronizes the state, pulling the new image and rolling out the update into the live Kubernetes cluster running on the Cloud VM.

Run Locally

If you want to run the application locally outside of Kubernetes:

# Clone the repository
git clone https://github.com/MhdAsker/Learning_Assistant_Jenkins_ArgoCD.git
cd Learning_Assistant_Jenkins_ArgoCD

# Install dependencies (ensure you have a venv initialized)
pip install -r requirements.txt

# Run the UI locally
streamlit run application.py

Note: Ensure your .env contains the required Groq API tokens.

About

End-to-end LLMOps project: A Streamlit-based AI Quiz Generator utilizing Groq API, containerized and deployed to a Cloud VM via Jenkins and managed with ArgoCD GitOps practices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors