Skip to content

Famous077/Jenkins_2024_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 

Repository files navigation

jenkins_GSoc 2024 project

#Implementing-UI-for-Jenkins-Infra-Statistics

Open Source project of Jenkins

This repo covers the Jenkins Open Source 2024 project β€œMetric Dashboard of CI/CD”, which modernizes the Jenkins Infra Statistics dashboard. It focuses on visualizing infrastructure metricsβ€”such as build performance and usage dataβ€”through an improved UI built for stats.jenkins.io.

Jenkins CI/CD Dashboard – OJT Project

This project focuses on building a custom Jenkins dashboard that visualizes key CI/CD pipeline metrics such as build duration, queue time, and build outcomes (success, failure, aborted, unstable).
The goal is to provide a cleaner, data-driven UI for analyzing Jenkins performance.


πŸ“Œ Key Features

  • Build Duration Trend (Line Chart)
  • Job Comparison (Bar Chart)
  • Success / Failure Distribution (Pie Chart)
  • Queue Time vs Execution Time
  • Fastest & Slowest Pipelines
  • Clean and simple UI using Chart.js

πŸ”§ Tools & Tech Stack

  • Jenkins (WAR)
  • JDK + Maven
  • HTML, CSS, JavaScript
  • Chart.js
  • Git, GitHub, VS Code
  • Figma for UI planning

Jenkins Data Workflow (Used for Dashboard)

Below is the exact workflow I studied and implemented while extracting metrics:

   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   Source Code     β”‚
   β”‚ (GitHub/Repo)     β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ Trigger (Commit/Webhook)
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   Jenkins Job     β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   Scheduler       β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ Places build in queue
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   Queue Stage     β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ Wait for executor
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚  Executor Node    β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ Runs pipeline stages
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   Build Result    β”‚
   β”‚ (Success/Fail/…)  β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ Exports logs, duration, artifacts
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Dashboard Data    β”‚
   β”‚  (JSON/CSV)       β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚ Visualized using Chart.js
            β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ Final Dashboard   β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Link of the project : [https://jenkins-dashboard-2024-implementing.vercel.app/]

Some important PRs which we were trying to understand are given below:

[PR1 : Related to UI of Jenkins] (jenkinsci/jenkins#11208) [PR2 : Related to Workflow of Jenkins] (https://github.com/jenkinsci/jenkins/pull/11230/files) [PR3]: (jenkinsci/jenkins#11306) [PR4] : (jenkinsci/jenkins#9667)

About

# Open Source project of Jenkins

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages