Skip to content

GameFlow Mastery is a CI/CD pipeline for a simple board game development. It automates the process, ensuring code quality, security and efficient deployment using Jenkins, Kubernetes, Prometheus, Grafana, GitHub, Maven, SonarQube, Trivy, Nexus and Docker

License

Notifications You must be signed in to change notification settings

asr2003/GameFlow-Mastery

Repository files navigation

Overview

The GameFlow Mastery project integrates a comprehensive CI/CD pipeline for board game development. This pipeline ensures code quality, security and efficient deployment, leveraging various tools and technologies to deliver a seamless development and deployment experience for production environment projects. This project is a learning path of DevOPS CI/CD using the following tools:

alt text

Tech Stack

  • Jenkins: Automates the build and deployment process.
  • Kubernetes: Orchestrates and manages containerized applications
  • Prometheus: Monitors the performance and health of applications
  • Grafana: Visualizes monitoring data and creates dashboards
  • Maven: Manages project builds and dependencies.
  • SonarQube: Analyzes code quality and maintains code health
  • Trivy: Scans for vulnerabilities in container images
  • Nexus Repository: Stores and manages build artifacts
  • Docker: Containerizes applications for consistent deployment

Architecture

Architecture

Pipeline Flow

  • Developer Setup: Developers write code and tests locally.
  • Code Commit & Push: Code is pushed to the GitHub repository.
  • Jenkins Trigger: Jenkins triggers the pipeline upon code push.
  • Declarative Tool Install: Installs necessary tools and dependencies.
  • Git Checkout: Checks out the latest code from GitHub.
  • Compile: Compiles the code using Maven.
  • Test: Runs unit tests to ensure code correctness.
  • File System Scan: Checks for file system anomalies.
  • SonarQube Analysis: Analyzes code quality and security issues.
  • Quality Gate: Ensures code meets predefined quality standards.
  • Build: Packages the application using Maven.
  • Publish to Nexus: Publishes build artifacts to Nexus Repository.
  • Build & Tag Docker Image: Builds and tags Docker image.
  • Push Docker Image: Pushes Docker image to Docker repository.
  • Deploy to Kubernetes: Deploys the application to Kubernetes cluster.
  • Verify Deployment: Verifies the successful deployment of the application.
  • System-Level Monitoring: Configures Prometheus for monitoring system performance and health.
  • Website-Level Monitoring: Uses Prometheus black-box exporter for monitoring website availability and performance.
  • Visualization: Uses Grafana to create dashboards for visualizing both system-level and website-level monitoring data.
  • Declarative Post Actions: Performs post-deployment actions.
  • Notification: Sends notification about the deployment status.

Installation

For installation steps and how to configure the project follow the installation guide docs

About

GameFlow Mastery is a CI/CD pipeline for a simple board game development. It automates the process, ensuring code quality, security and efficient deployment using Jenkins, Kubernetes, Prometheus, Grafana, GitHub, Maven, SonarQube, Trivy, Nexus and Docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages