SlideShare a Scribd company logo
Evolving the Jenkins UI
Gus Reiber & Tom Fennelly, CloudBees
Gus Reiber
greiber@cloudbees.com
Introductions
Tom Fennelly
tfennelly@cloudbees.com
I’m the thinker
But... Gus,
is so good looking.
My college self says:
“Shut-up, Tom, I’m
sensitive!”
#jenkinsconf
Agenda
...so you will be ready for the quiz at the end.
A brief history of the Jenkins GUI
Recent GUI evolution
Fruitful steps forward
Proof of concept Jenkins GUI for feedback
The GUI
can be helpful,
too!
The big take-away...
#jenkinsconf
A brief history of the Jenkins GUI
40,000 BCE
First cave paintings
Feb 2005
Hudson is born
Jan 2011
Jenkins emerges
...until recent times...
(not to scale)
#jenkinsconf
Early progress
..from primitive men
Responsive page layout via <div>
Fresher look & feel
CSS based icons
...all with no plugin disruptions
#jenkinsconf
●  CSS modularization is an issue (style.css)
●  Page Structure (semantic layout) is an issue (configuration pages)
●  JavaScript modularization is an issue (hudson-behavior.js etc)
...what did we learn?
#jenkinsconf
A new dawn of GUI development
Real solutions starting now
#jenkinsconf
CSS - Doing “more with LESS”
Real solutions starting now
Modularization
page-header
page-footer
icons
status-balls
tabs
panes
build-history
etc etc
style.css
@import "./variables”
@import "./page-header”
@import "./page-footer”
@import "./icons”
etc etc
style.less
evolves to
variables.less
page-header.less
#jenkinsconf
CSS - Doing “more with LESS”
Modularization
Real solutions starting now
Parameterization
@lightBorderColor: color('#b3b3b3');
.page-header {
border-bottom: @lightBorderColor;
}
page-header.less
variables.less
#jenkinsconf
CSS - Doing “more with LESS”
Real solutions starting now
Modularization
Parameterization
Easy CSS “namespacing”
#jenkinsconf
UI Themes in Jenkins
Real solutions starting now
Build page styles and behaviors from GUI Themes
Support multiple implementations of a given theme
Support “per user” theme configuration
Enable broad support for usability need issues
Its Demo
TIME!
#jenkinsconf
JUC 2015
Jenkins Enterprise prototype
Now that Tom and I have some
framework pieces in place for
handling CSS scoping and adding
additional JS libraries, we have the
technology in place to make some
more significant visual and functional
enhancements to Jenkins...
We can
rebuild him
•  Uber catch-all scripts e.g. hudson-behavior.js
•  Global framework libraries: prototypejs, jquery
•  No established patterns/tools re JavaScript Modularization
JavaScript Modularization
#jenkinsconf
One possible approach
frontend-maven-plugin
(and lots more - templating, CSS/JS minification etc)
modules
Browser
Bundle

More Related Content

PDF
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
PDF
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
PDF
PDF
JUC Europe 2015: Scaling Your Jenkins Master with Docker
PDF
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
PDF
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
PDF
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)

More from CloudBees (20)

PDF
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
PDF
JUC Europe 2015: Jenkins Made Easy
PDF
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
PDF
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
PDF
JUC Europe 2015: Hey! What Did We Just Release?
PDF
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
PDF
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
PDF
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
PDF
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
PDF
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
PDF
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
PDF
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
PDF
JUC Europe 2015: Configuration as Code: The Job DSL Plugin
PDF
JUC Europe 2015: A Reproducible Build Environment with Jenkins
PDF
Pimp your jenkins platform with docker - Devops.com 2015/11
PDF
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
PDF
Jenkins Workflow Webinar - Dec 10, 2014
PDF
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
PDF
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
PDF
From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Configuration as Code: The Job DSL Plugin
JUC Europe 2015: A Reproducible Build Environment with Jenkins
Pimp your jenkins platform with docker - Devops.com 2015/11
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
Jenkins Workflow Webinar - Dec 10, 2014
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
From Continuous Integration to Continuous Delivery with Jenkins - javaland.de...
Ad

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
MYSQL Presentation for SQL database connectivity
NewMind AI Monthly Chronicles - July 2025
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Modernizing your data center with Dell and AMD
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
The AUB Centre for AI in Media Proposal.docx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
MYSQL Presentation for SQL database connectivity
Ad

JUC Europe 2015: Evolving the Jenkins UI

  • 1. Evolving the Jenkins UI Gus Reiber & Tom Fennelly, CloudBees
  • 2. Gus Reiber greiber@cloudbees.com Introductions Tom Fennelly tfennelly@cloudbees.com I’m the thinker But... Gus, is so good looking. My college self says: “Shut-up, Tom, I’m sensitive!” #jenkinsconf
  • 3. Agenda ...so you will be ready for the quiz at the end. A brief history of the Jenkins GUI Recent GUI evolution Fruitful steps forward Proof of concept Jenkins GUI for feedback The GUI can be helpful, too! The big take-away... #jenkinsconf
  • 4. A brief history of the Jenkins GUI 40,000 BCE First cave paintings Feb 2005 Hudson is born Jan 2011 Jenkins emerges ...until recent times... (not to scale) #jenkinsconf
  • 5. Early progress ..from primitive men Responsive page layout via <div> Fresher look & feel CSS based icons ...all with no plugin disruptions #jenkinsconf
  • 6. ●  CSS modularization is an issue (style.css) ●  Page Structure (semantic layout) is an issue (configuration pages) ●  JavaScript modularization is an issue (hudson-behavior.js etc) ...what did we learn? #jenkinsconf
  • 7. A new dawn of GUI development Real solutions starting now #jenkinsconf
  • 8. CSS - Doing “more with LESS” Real solutions starting now Modularization page-header page-footer icons status-balls tabs panes build-history etc etc style.css @import "./variables” @import "./page-header” @import "./page-footer” @import "./icons” etc etc style.less evolves to variables.less page-header.less #jenkinsconf
  • 9. CSS - Doing “more with LESS” Modularization Real solutions starting now Parameterization @lightBorderColor: color('#b3b3b3'); .page-header { border-bottom: @lightBorderColor; } page-header.less variables.less #jenkinsconf
  • 10. CSS - Doing “more with LESS” Real solutions starting now Modularization Parameterization Easy CSS “namespacing” #jenkinsconf
  • 11. UI Themes in Jenkins Real solutions starting now Build page styles and behaviors from GUI Themes Support multiple implementations of a given theme Support “per user” theme configuration Enable broad support for usability need issues Its Demo TIME! #jenkinsconf
  • 12. JUC 2015 Jenkins Enterprise prototype Now that Tom and I have some framework pieces in place for handling CSS scoping and adding additional JS libraries, we have the technology in place to make some more significant visual and functional enhancements to Jenkins... We can rebuild him
  • 13. •  Uber catch-all scripts e.g. hudson-behavior.js •  Global framework libraries: prototypejs, jquery •  No established patterns/tools re JavaScript Modularization JavaScript Modularization #jenkinsconf
  • 14. One possible approach frontend-maven-plugin (and lots more - templating, CSS/JS minification etc) modules Browser Bundle