SlideShare a Scribd company logo
Jenkins User Conference San Francisco #jenkinsconf 
How to train your 
Jenkins? … to Use Your Resources 
Effectively and Get More Value for Each Buck Spent on 
Resources 
Manivannan Selvaraj & Soma Oruganti 
eBay Inc. 
ww.ebay.com 
October 23, 2014 
#jenkinsconf
Jenkins User Conference San Francisco #jenkinsconf 
At eBay Inc. we take CI very seriously
Jenkins User Conference San Francisco #jenkinsconf 
Background - CI in PayPal 
• One Ginormous Jenkins Instance, customized for PayPal 
• 40,000 runnable jobs 
• 12,000 builds are run each day 
• Java, Node, Python, and C++ stacks, Fortify and Freestyle jobs too 
• Unit test and deploy flows 
• One Jenkins master with a pool of a hundred Jenkins slaves 
• Specialized “Monster Machine” stages build 40,000,000 lines of code in 
a half hour
Jenkins User Conference San Francisco #jenkinsconf 
Background - CI in eBay Marketplaces 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
Jenkins CI 
Wo 
rks 
pac 
e 
• Individual VMs running Jenkins for each Application 
• 2500+ VMs in use 
Wo 
rks 
pac 
e 
• Each Jenkins would have 2 executor on master to perform builds
Jenkins User Conference San Francisco #jenkinsconf 
Individual Jenkins VMs 
Pros 
Can add their own plug-ins 
Can upgrade to various versions 
of Jenkins 
Issues are isolated to one 
instance 
Cons 
Poor resource utilization - < 10% 
Cost of maintaining 2500+ VMs – 
Millions of $ every year 
Provisioning VMs takes several 
minutes 
Individual instances have local 
storage of limited size 
CI’s can disappear, losing all 
data and build history
Jenkins User Conference San Francisco #jenkinsconf 
New CI Architecture - Challenges 
• Put a smile on Dev-Ops 
• Optimal utilization of resources 
• Preserve user experience 
• High availability 
• Self healing infrastructure
Jenkins User Conference San Francisco #jenkinsconf 
Light weight Jenkins 
Apache Mesos Cloud 
… 
Light weight Jenkins for each user 
Developer 1 Developer 2 Developer n 
0.4 CPU 
512 MB mem
Jenkins User Conference San Francisco #jenkinsconf 
Mesos Architecture
Jenkins User Conference San Francisco #jenkinsconf 
Build slaves - Jenkins Mesos Plugin 
• Jenkins Mesos plugin community is very active 
• We have contributed enhancements/patches to the plugin
Jenkins User Conference San Francisco #jenkinsconf 
CI Application life cycle 
CIAAS 
Marathon 
Mesos Master 
Mesos Cluster 
NFS 
Request for CI 
Zookeeper 
Jenkins Master Jenkins Slave
Jenkins User Conference San Francisco #jenkinsconf 
Jenkins Mesos Plugin - our Contributions 
• Custom workspace 
• Multiple flavors of slaves 
• Access to workspace 
• Enable Maven jobs 
• Disconnect of slaves after idle timeout
Jenkins User Conference San Francisco #jenkinsconf
Jenkins User Conference San Francisco #jenkinsconf 
Thank You To Our Sponsors 
Platinum Gold 
Silver Corporate

More Related Content

PDF
Escape From Your VMs with Image2Docker Jeff Nickoloff, All in Geek Consulting...
PDF
Travis, Circle そして Jenkins 2.0
PDF
Visual Studio Online as a CI Service
PDF
SF DevOps: Introducing Vagrant
PDF
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
PPT
Jenkins Overview
PDF
Build & Deploy Multi-Container Applications to AWS
PDF
K8s Cluster Build
Escape From Your VMs with Image2Docker Jeff Nickoloff, All in Geek Consulting...
Travis, Circle そして Jenkins 2.0
Visual Studio Online as a CI Service
SF DevOps: Introducing Vagrant
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Jenkins Overview
Build & Deploy Multi-Container Applications to AWS
K8s Cluster Build

What's hot (20)

PDF
Play Framework: Intro & High-Level Overview
PDF
Divide and Conquer: Easier Continuous Delivery using Micro-Services
PDF
Netflix and Containers: Not A Stranger Thing
PPTX
CI/CD for Asp.net core apps using Docker
PDF
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
PPTX
Building a Large Java Codebase with Bazel - Natan Silnitsky
PDF
Webinar: Continuous Deployment with MongoDB at Kitchensurfing
PPTX
Jenkins and AWS DevOps Tools
PDF
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
PDF
My Journey from Docker Captain to Tips of Captain's Hat Award
PPTX
Unicom DevCon - CI/CD for Asp.net core apps using Docker
PPTX
London Hashicorp Meetup #22 - Congruent infrastructure @zopa by Ben Coughlan
PDF
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
PPTX
Kubernetes your tests! automation with docker on google cloud platform
PPTX
selenium grid & docker
PPTX
JENKINS Training
PDF
Scaling Jenkins Enterprise Wide
PDF
Play 2 Java Framework with TDD
PPTX
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
PPTX
Stabilizing SE Build - Selenium conf 2013
Play Framework: Intro & High-Level Overview
Divide and Conquer: Easier Continuous Delivery using Micro-Services
Netflix and Containers: Not A Stranger Thing
CI/CD for Asp.net core apps using Docker
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Building a Large Java Codebase with Bazel - Natan Silnitsky
Webinar: Continuous Deployment with MongoDB at Kitchensurfing
Jenkins and AWS DevOps Tools
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...
My Journey from Docker Captain to Tips of Captain's Hat Award
Unicom DevCon - CI/CD for Asp.net core apps using Docker
London Hashicorp Meetup #22 - Congruent infrastructure @zopa by Ben Coughlan
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Kubernetes your tests! automation with docker on google cloud platform
selenium grid & docker
JENKINS Training
Scaling Jenkins Enterprise Wide
Play 2 Java Framework with TDD
Delivering eBay's CI Solution with Apache Mesos & Docker - DockerCon 2014
Stabilizing SE Build - Selenium conf 2013
Ad

Similar to How to train your Jenkins? (20)

PDF
Testing Salesforce at Cloud Scale
PDF
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
PDF
From Virtual Machines to Containers
PDF
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
PPTX
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
PDF
Jenkins-CI
PPTX
Beyond Continuous Delivery - Jenkins User Conference - 23 Oct 2014
PPTX
Jenkins and Chef: Infrastructure CI and Automated Deployment
PDF
JUC Europe 2015: A Reproducible Build Environment with Jenkins
PDF
QA in DevOps: Transformation thru Automation via Jenkins
PDF
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015
PDF
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
PPTX
Going literate in Amadeus JUC Berlin June 25th 2014
PDF
JUC NY - Advanced Continuous Deployment with Jenkins
PPTX
Building your Continuous Delivery Toolkit @ JUC SF 2014
PPTX
Jenkins Evolutions - JEEConf 2012
PDF
Jenkins X intro (from google app dev conference)
PDF
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
PPT
Jenkins Scriptler in 90mins
PDF
Jenkins for One
Testing Salesforce at Cloud Scale
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
From Virtual Machines to Containers
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Jenkins-CI
Beyond Continuous Delivery - Jenkins User Conference - 23 Oct 2014
Jenkins and Chef: Infrastructure CI and Automated Deployment
JUC Europe 2015: A Reproducible Build Environment with Jenkins
QA in DevOps: Transformation thru Automation via Jenkins
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
Going literate in Amadeus JUC Berlin June 25th 2014
JUC NY - Advanced Continuous Deployment with Jenkins
Building your Continuous Delivery Toolkit @ JUC SF 2014
Jenkins Evolutions - JEEConf 2012
Jenkins X intro (from google app dev conference)
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as code
Jenkins Scriptler in 90mins
Jenkins for One
Ad

Recently uploaded (20)

PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Hindi spoken digit analysis for native and non-native speakers
PPT
What is a Computer? Input Devices /output devices
PDF
project resource management chapter-09.pdf
PDF
Getting Started with Data Integration: FME Form 101
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Architecture types and enterprise applications.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Web App vs Mobile App What Should You Build First.pdf
Zenith AI: Advanced Artificial Intelligence
A novel scalable deep ensemble learning framework for big data classification...
Programs and apps: productivity, graphics, security and other tools
Hindi spoken digit analysis for native and non-native speakers
What is a Computer? Input Devices /output devices
project resource management chapter-09.pdf
Getting Started with Data Integration: FME Form 101
A comparative study of natural language inference in Swahili using monolingua...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
DP Operators-handbook-extract for the Mautical Institute
WOOl fibre morphology and structure.pdf for textiles
Final SEM Unit 1 for mit wpu at pune .pptx
Assigned Numbers - 2025 - Bluetooth® Document
Architecture types and enterprise applications.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Enhancing emotion recognition model for a student engagement use case through...

How to train your Jenkins?

  • 1. Jenkins User Conference San Francisco #jenkinsconf How to train your Jenkins? … to Use Your Resources Effectively and Get More Value for Each Buck Spent on Resources Manivannan Selvaraj & Soma Oruganti eBay Inc. ww.ebay.com October 23, 2014 #jenkinsconf
  • 2. Jenkins User Conference San Francisco #jenkinsconf At eBay Inc. we take CI very seriously
  • 3. Jenkins User Conference San Francisco #jenkinsconf Background - CI in PayPal • One Ginormous Jenkins Instance, customized for PayPal • 40,000 runnable jobs • 12,000 builds are run each day • Java, Node, Python, and C++ stacks, Fortify and Freestyle jobs too • Unit test and deploy flows • One Jenkins master with a pool of a hundred Jenkins slaves • Specialized “Monster Machine” stages build 40,000,000 lines of code in a half hour
  • 4. Jenkins User Conference San Francisco #jenkinsconf Background - CI in eBay Marketplaces Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e Jenkins CI Wo rks pac e • Individual VMs running Jenkins for each Application • 2500+ VMs in use Wo rks pac e • Each Jenkins would have 2 executor on master to perform builds
  • 5. Jenkins User Conference San Francisco #jenkinsconf Individual Jenkins VMs Pros Can add their own plug-ins Can upgrade to various versions of Jenkins Issues are isolated to one instance Cons Poor resource utilization - < 10% Cost of maintaining 2500+ VMs – Millions of $ every year Provisioning VMs takes several minutes Individual instances have local storage of limited size CI’s can disappear, losing all data and build history
  • 6. Jenkins User Conference San Francisco #jenkinsconf New CI Architecture - Challenges • Put a smile on Dev-Ops • Optimal utilization of resources • Preserve user experience • High availability • Self healing infrastructure
  • 7. Jenkins User Conference San Francisco #jenkinsconf Light weight Jenkins Apache Mesos Cloud … Light weight Jenkins for each user Developer 1 Developer 2 Developer n 0.4 CPU 512 MB mem
  • 8. Jenkins User Conference San Francisco #jenkinsconf Mesos Architecture
  • 9. Jenkins User Conference San Francisco #jenkinsconf Build slaves - Jenkins Mesos Plugin • Jenkins Mesos plugin community is very active • We have contributed enhancements/patches to the plugin
  • 10. Jenkins User Conference San Francisco #jenkinsconf CI Application life cycle CIAAS Marathon Mesos Master Mesos Cluster NFS Request for CI Zookeeper Jenkins Master Jenkins Slave
  • 11. Jenkins User Conference San Francisco #jenkinsconf Jenkins Mesos Plugin - our Contributions • Custom workspace • Multiple flavors of slaves • Access to workspace • Enable Maven jobs • Disconnect of slaves after idle timeout
  • 12. Jenkins User Conference San Francisco #jenkinsconf
  • 13. Jenkins User Conference San Francisco #jenkinsconf Thank You To Our Sponsors Platinum Gold Silver Corporate