SlideShare una empresa de Scribd logo
1 de 39
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Jenkins: State of Union
#jenkinsci
Kohsuke Kawaguchi
Jenkins Creator
kk@kohsuke.org / @kohsukekawa
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
1 new release comes out
Gets downloaded 48,000 times
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
That fills up 513 DVDs
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
3.5 Brand-new Plugins Released
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
25 New Versions of Plugins Released
Gets downloaded 500,000 times
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
80 Tickets Filed
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
50 Tickets Solved
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
145 Commits Are Made
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
400 Jenkins Installations Pops Up
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
1200 New Slaves Are Added
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
19,000 New Jobs Are Added
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
# of plugins
0
100
200
300
400
500
600
700
800
Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12 Jan-13
767
# of unique plugins
releases/week
new plugins/week
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Ticket Activities
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12 Jan-13
17500
Total tickets
Resolved tickets
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Tracked Installations (conservative)
0
10000
20000
30000
40000
50000
60000
Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12 Jan-13
64000
# of masters
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
http://www.flickr.com/photos/randar/3879926596/
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Lazy loading of build records
• Jenkins slow to start up?
– It was loading build records upon boot
• This is finally fixed, including fallouts
– Loaded on demand
– In weak references
• Now on LTS: 1.509.1
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Master/slave performance
• Better sustained data transfer rate
– Copy large files, test reports, etc
– Now on par with scp
• Classloading improvements
– Local cache & prefetching
– Will help ephemeral/elastic slaves & maven jobs
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Performance/Scalability Improvements
• Lock strength reduction
• Fingerprint scalability improvements
• Better caching of images & scripts in UI
• The “people” page
• Handling large test result
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Testing Improvements
• Previous testing scheme
– Embedded Jetty in Maven
– Code from ~/.m2/repository and resources from
war
– The setup was different from how you run it
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
New Blackbox Acceptance Test
• Tests the final deliverables
– jenkins.war, .deb, .rpm, etc
– With Tomcat, JBoss, or “java -jar jenkins.war”
• In different OSes
– In VirtualBox (via vagrant)
– Hopefully with EC2 (upcoming)
• Tests via Selenium
– Capybara + Cucumber
– Sauce OnDemand to test different browsers
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Database Plugin
• For other plugins, not for users
– But large data set in RDBMS should result in tangible
benefits for users
• Provides unified database connectivity
– UI for admin to select the backend
– Expose DataSource for other plugins
– JPA support, per-job database
• Looking for plugins to start using this
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Plugins that generate jobs
• Job DSL plugin
– Groovy DSL for describing job definitions
– DSL can be evaluated from within Jenkins
– E.g., automatically generate new jobs for new
branches
• Job Generator plugin
– Create a new ste of jobs from “template jobs” by
eagerly evaluating some build parameters
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Build Flow Plugin
• Groovy DSL for kicking builds
– High-level primitives
– Ability to define abstractions
b = build(“acme-build”)
guard {
parallel (
{ build(“acme-test1”, param1:b.number) },
{ build(“acme-test2”, param1:b.number) }
)
} rescue {
build(“acme-teardown”)
}
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Jenkow Plugin
• Embed BPMN workflow engine
in Jenkins
– Timeout, fork, join, …
• Workflow is version controlled
in Git
– Push to Jenkins to load them up
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Recipe Plugin
• Sharing a set of jobs and other settings in
Jenkins with the community
• Convenient for…
– Sample setup / quick start for plugins
– Show cases
• Simplify the first “getting started” phase
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Parallel Test Executor Plugin
• Split tests N-way, run them in parallel
• Create even splits by using timing information
Test Group #1 Test Group #2 Test Group #3
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Future Direction: Which Way?
http://www.flickr.com/photos/quinnanya/3500158343/
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Make Complex Things Doable
• Running big, complex deployment should be
easier
– Master-to-master communication channel
– Per-job database storage, open for plugins
• More automatic slave managements
– Better diagnostics
• Access control for running builds
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Make Complex Things Doable
• Better Workflow/pipeline support
– Already a lot going on in plugins!
– Slice up build histories
– Shared context between related builds
• Modeling external systems
– Databases, test environments, …
– Remembering who’s using what
– Remember what was done to them
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Make Simple Things Simpler
• More spying, less asking
– E.g., “where are unit test reports?”
• Simpler project creation ala BuildHive
– Only needs to be 70% accurate
– Sharable archetypes, repository sniffing
• Encourage sharing of recipes
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Help You Find Plugins You Need
• Revisit bundled plugins
– Why Git plugin isn’t in there?
• Plugin packs (aka iTunes playlist)
– Follow the lead of the Jenkins PHP website
• Recommendation based on what you have
• Reviews, feedbacks
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
More UI Improvements
• FOSDEM-driven on-going effort
• TODO in this round:
– Hunt on stale data in HTML
– Performance on loading config page
– More compact UI controls
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Improving Plugin Development Experience
• More extension points
• Better Plugin Development Environment
– More Wiki articles/samples?
– Training course?
• Better development mode
– Skeleton generation
– Checking common pitfalls in the dev mode
• Tell us what you need!
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
Conclusions
• A lot has been done, not just in code
– And a lot more to come!
• Please help the project
• Please enjoy the day!
Jenkins User Conference Shefayim, Jun 2013 #jenkinsci

Más contenido relacionado

La actualidad más candente

The way to set automation testing
The way to set automation testingThe way to set automation testing
The way to set automation testing
Duy Tan Geek
 
PowerShell for SharePoint Admins
PowerShell for SharePoint AdminsPowerShell for SharePoint Admins
PowerShell for SharePoint Admins
Rick Taylor
 

La actualidad más candente (20)

Untangling - fall2017 - week 8
Untangling - fall2017 - week 8Untangling - fall2017 - week 8
Untangling - fall2017 - week 8
 
PowerShell for sharepoint 2010 administrators
PowerShell for sharepoint 2010 administratorsPowerShell for sharepoint 2010 administrators
PowerShell for sharepoint 2010 administrators
 
Continuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub ActionsContinuous Testing with Molecule, Ansible, and GitHub Actions
Continuous Testing with Molecule, Ansible, and GitHub Actions
 
The way to set automation testing
The way to set automation testingThe way to set automation testing
The way to set automation testing
 
Tips and Tricks for Automating Windows with Chef
Tips and Tricks for Automating Windows with ChefTips and Tricks for Automating Windows with Chef
Tips and Tricks for Automating Windows with Chef
 
PowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersPowerShell for SharePoint Developers
PowerShell for SharePoint Developers
 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & Webdriver
 
Ansible Best Practices - July 30
Ansible Best Practices - July 30Ansible Best Practices - July 30
Ansible Best Practices - July 30
 
Cooking on Windows without the Windows Cookbook
Cooking on Windows without the Windows CookbookCooking on Windows without the Windows Cookbook
Cooking on Windows without the Windows Cookbook
 
PowerShell for SharePoint Admins
PowerShell for SharePoint AdminsPowerShell for SharePoint Admins
PowerShell for SharePoint Admins
 
My Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is MagicMy Little Webap - DevOpsSec is Magic
My Little Webap - DevOpsSec is Magic
 
Rebooting a Cloud
Rebooting a CloudRebooting a Cloud
Rebooting a Cloud
 
PowerShell and SharePoint
PowerShell and SharePointPowerShell and SharePoint
PowerShell and SharePoint
 
Infrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & AnsibleInfrastructure Automation with Chef & Ansible
Infrastructure Automation with Chef & Ansible
 
Sử dụng Gulp trong phát triển theme
Sử dụng Gulp trong phát triển themeSử dụng Gulp trong phát triển theme
Sử dụng Gulp trong phát triển theme
 
Paint it blue with PowerShell
Paint it blue with PowerShellPaint it blue with PowerShell
Paint it blue with PowerShell
 
Maven
Maven Maven
Maven
 
Manage your infrastructure with PowerShell
Manage your infrastructure with PowerShellManage your infrastructure with PowerShell
Manage your infrastructure with PowerShell
 
Ansible get started
Ansible get startedAnsible get started
Ansible get started
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 

Destacado (6)

Jenkins勉強会第二回
Jenkins勉強会第二回Jenkins勉強会第二回
Jenkins勉強会第二回
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立
 
On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing code
 
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentJavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
 
Simulasi penilaian angka kredit jabatan fungsional pengawas sekolah
Simulasi penilaian angka kredit jabatan fungsional pengawas sekolahSimulasi penilaian angka kredit jabatan fungsional pengawas sekolah
Simulasi penilaian angka kredit jabatan fungsional pengawas sekolah
 

Similar a Jenkins State of union 2013

Similar a Jenkins State of union 2013 (20)

Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
 
Super Charged Configuration As Code
Super Charged Configuration As CodeSuper Charged Configuration As Code
Super Charged Configuration As Code
 
Jenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And GroovyJenkins Plugin Development With Gradle And Groovy
Jenkins Plugin Development With Gradle And Groovy
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and Groovy
 
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015
Making Enterprise-Ready Plugins - Kaj Kandler JUC West 2015
 
Jenkins 1
Jenkins 1Jenkins 1
Jenkins 1
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryCodifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Meet my CI
Meet my CIMeet my CI
Meet my CI
 
Juc boston2014.pptx
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
 
How we tested our code "Google way"
How we tested our code "Google way"How we tested our code "Google way"
How we tested our code "Google way"
 
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) TeamsGraduating to Jenkins CI for Ruby(-on-Rails) Teams
Graduating to Jenkins CI for Ruby(-on-Rails) Teams
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsula
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 

Más de Kohsuke Kawaguchi

Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
Kohsuke Kawaguchi
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
Kohsuke Kawaguchi
 

Más de Kohsuke Kawaguchi (20)

Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
 
Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyond
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
 
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteJenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
 
第六回Jenkins勉強会
第六回Jenkins勉強会第六回Jenkins勉強会
第六回Jenkins勉強会
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
 
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoJenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
 
ここ最近のJenkins新機能
ここ最近のJenkins新機能ここ最近のJenkins新機能
ここ最近のJenkins新機能
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
Creating a Developer Community
Creating a Developer CommunityCreating a Developer Community
Creating a Developer Community
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
 
Current state of Jenkins
Current state of JenkinsCurrent state of Jenkins
Current state of Jenkins
 
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
 
Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Jenkins State of union 2013

  • 1. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Jenkins: State of Union #jenkinsci Kohsuke Kawaguchi Jenkins Creator kk@kohsuke.org / @kohsukekawa
  • 2. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
  • 3. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 1 new release comes out Gets downloaded 48,000 times
  • 4. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci That fills up 513 DVDs
  • 5. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 3.5 Brand-new Plugins Released
  • 6. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 25 New Versions of Plugins Released Gets downloaded 500,000 times
  • 7. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 80 Tickets Filed
  • 8. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 50 Tickets Solved
  • 9. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 145 Commits Are Made
  • 10. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 400 Jenkins Installations Pops Up
  • 11. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 1200 New Slaves Are Added
  • 12. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci 19,000 New Jobs Are Added
  • 13. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci # of plugins 0 100 200 300 400 500 600 700 800 Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12 Jan-13 767 # of unique plugins releases/week new plugins/week
  • 14. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Ticket Activities 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12 Jan-13 17500 Total tickets Resolved tickets
  • 15. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Tracked Installations (conservative) 0 10000 20000 30000 40000 50000 60000 Jan-07 Jan-08 Jan-09 Jan-10 Jan-11 Jan-12 Jan-13 64000 # of masters
  • 16. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
  • 17. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci http://www.flickr.com/photos/randar/3879926596/
  • 18. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Lazy loading of build records • Jenkins slow to start up? – It was loading build records upon boot • This is finally fixed, including fallouts – Loaded on demand – In weak references • Now on LTS: 1.509.1
  • 19. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Master/slave performance • Better sustained data transfer rate – Copy large files, test reports, etc – Now on par with scp • Classloading improvements – Local cache & prefetching – Will help ephemeral/elastic slaves & maven jobs
  • 20. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Performance/Scalability Improvements • Lock strength reduction • Fingerprint scalability improvements • Better caching of images & scripts in UI • The “people” page • Handling large test result
  • 21. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Testing Improvements • Previous testing scheme – Embedded Jetty in Maven – Code from ~/.m2/repository and resources from war – The setup was different from how you run it
  • 22. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci New Blackbox Acceptance Test • Tests the final deliverables – jenkins.war, .deb, .rpm, etc – With Tomcat, JBoss, or “java -jar jenkins.war” • In different OSes – In VirtualBox (via vagrant) – Hopefully with EC2 (upcoming) • Tests via Selenium – Capybara + Cucumber – Sauce OnDemand to test different browsers
  • 23. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Database Plugin • For other plugins, not for users – But large data set in RDBMS should result in tangible benefits for users • Provides unified database connectivity – UI for admin to select the backend – Expose DataSource for other plugins – JPA support, per-job database • Looking for plugins to start using this
  • 24. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Plugins that generate jobs • Job DSL plugin – Groovy DSL for describing job definitions – DSL can be evaluated from within Jenkins – E.g., automatically generate new jobs for new branches • Job Generator plugin – Create a new ste of jobs from “template jobs” by eagerly evaluating some build parameters
  • 25. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Build Flow Plugin • Groovy DSL for kicking builds – High-level primitives – Ability to define abstractions b = build(“acme-build”) guard { parallel ( { build(“acme-test1”, param1:b.number) }, { build(“acme-test2”, param1:b.number) } ) } rescue { build(“acme-teardown”) }
  • 26. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Jenkow Plugin • Embed BPMN workflow engine in Jenkins – Timeout, fork, join, … • Workflow is version controlled in Git – Push to Jenkins to load them up
  • 27. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Recipe Plugin • Sharing a set of jobs and other settings in Jenkins with the community • Convenient for… – Sample setup / quick start for plugins – Show cases • Simplify the first “getting started” phase
  • 28. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Parallel Test Executor Plugin • Split tests N-way, run them in parallel • Create even splits by using timing information Test Group #1 Test Group #2 Test Group #3
  • 29. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
  • 30. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci
  • 31. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Future Direction: Which Way? http://www.flickr.com/photos/quinnanya/3500158343/
  • 32. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Make Complex Things Doable • Running big, complex deployment should be easier – Master-to-master communication channel – Per-job database storage, open for plugins • More automatic slave managements – Better diagnostics • Access control for running builds
  • 33. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Make Complex Things Doable • Better Workflow/pipeline support – Already a lot going on in plugins! – Slice up build histories – Shared context between related builds • Modeling external systems – Databases, test environments, … – Remembering who’s using what – Remember what was done to them
  • 34. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Make Simple Things Simpler • More spying, less asking – E.g., “where are unit test reports?” • Simpler project creation ala BuildHive – Only needs to be 70% accurate – Sharable archetypes, repository sniffing • Encourage sharing of recipes
  • 35. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Help You Find Plugins You Need • Revisit bundled plugins – Why Git plugin isn’t in there? • Plugin packs (aka iTunes playlist) – Follow the lead of the Jenkins PHP website • Recommendation based on what you have • Reviews, feedbacks
  • 36. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci More UI Improvements • FOSDEM-driven on-going effort • TODO in this round: – Hunt on stale data in HTML – Performance on loading config page – More compact UI controls
  • 37. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Improving Plugin Development Experience • More extension points • Better Plugin Development Environment – More Wiki articles/samples? – Training course? • Better development mode – Skeleton generation – Checking common pitfalls in the dev mode • Tell us what you need!
  • 38. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci Conclusions • A lot has been done, not just in code – And a lot more to come! • Please help the project • Please enjoy the day!
  • 39. Jenkins User Conference Shefayim, Jun 2013 #jenkinsci

Notas del editor

  1. I was looking at the adoption numbers, and I thought it’d be fun to phrase it in terms of …
  2. That’s almost 1 download every second
  3. 19000/wk / 40 hours/wk = 500/hr = 8/min
  4. 大きいところならどこでも全て入っているといっても過言ではない。
  5. As you can see, a lot of stuff comes out every week, so let me show you what we’ve been up to.
  6. The ui-changes branchBuildHive