Jenkins State of Union 2011Kohsuke Kawaguchi, CloudBees, Inc.Creator of Jenkins@kohsukekawahttp://cloudbees.com/
Jenkins User Conference!30 talk submissions380+ registration7 sponsorsStaffThank you!
2004 SummerI broke one too many buildsWouldn’t it be nice if …?
And so it beganbuild.shmonitor.shRun from cron#!/bin/bash -exexec 2>&1cd /files/jaxb-ricvs updateant#!/bin/bash -exbuild.sh > build.log || mail …
Then I wrote my version
By 1.15 (Feb ‘06)
The culture was established early onWeekly release cyclesExtensibility via pluginLower barrier to entryBackward compatibility mattersAnd then we just kept on keeping on
Plugin Growth470? 31322394276
Ticket Activities12000?82005000260095040
Usage All Around the World
2011 Jan: DivorceOracle: “you do it our way or highway”Community chose highway: 214 to 14That’s when we became Jenkins
8 months have passed.
Where are we now?
More Transparent/FormalGovernance
Legal EntityJenkins now affiliated with Software in the Public Interest (SPI)NPO to promote free and open softwareJoined the likes of Debian, Drupal, PostgreSQLEnables us to enter into contract, own assets, and live longer than individuals
Fundraising DriveThrough SPI, so tax deductiblejenkins-ci.org/donateRaising $5130 (the bandwidth overage during summer)Broad donation base is good for the project, so your help would be appreciated
Interim Governance BoardMyself, from CloudBeesAndrew Bayer, from ClouderaDean Yu, from Yahoo
Project MeetingBi-weekly meetingsHeld in IRCAgenda/participation open to anyoneLogs available online
Governance DocumentToday, we announce that we adopted an official governance documentOur implicit modus operandi, made explicithttps://wiki.jenkins-ci.org/display/JENKINS/Governance+Document
Governance DocumentClarifies how we workShould make onboarding easierLicense policiesProject rolesName usageCheck list forpull requests
Contributor License AgreementAs a part of governance document, the project approved of collecting CLA for coreBased on CLA used by ApacheFurther clarifies the rights associated with contributionsProtect users and projects from potential legal disputes
Infrastructures andReleaseshttp://www.flickr.com/photos/acmace/4410650624/
Diversity is good for projectWe rely on diverse entities to run jenkins-ci.orgThanks to
Server donationcucumber.jenkins-ci.orgRuns jenkins-ci.org and other critical infrastructure servicesPurchased by Tyler, Andrew, and myself$2000 worth of the equipmentToday we announce that we are donating this to SPI
Our mirrors around the worldThanks!7 mirrors around the worldNurnberg, GermanyYokohama, JapanSalt Lake City, UtahTaipei, TaiwanMadison, Wisconsin
More Open InfrastructureFor longest time, infra work was behind the closed doorWe can’t just hand out system access to everyoneBut now Tyler is pushing Puppet to workhttp://github.com/jenkinsci/infra-puppet“Open-sourcing” server setupSend in pull requests to make changes# of trusted admins is less of a bottleneck
ReleasesMain line continues weekly releasesWith same emphasis to compatibility“Peter created his plugin against Hudson 1.129 … got it running on Jenkins 1.397 without recompiling”--- Stephen Connolly
But with a lot of new featuresLazy loading HTML fragments in config page to speed it upDWR-like JavaScript reverse proxyView in Groovy and RubyUniform macro expansion mechanismJavaSE 7 supportCustom view propertiesSystematic XSS preventionSolaris packages, Mac OS X packagesMemory monitoring and auto restart on Mac OS XRebuilding matrix project subsetAPI token for REST APISSH public key authentication for CLISyntax highlighted Groovy consoleJRebel support in plugin/core developmentMore robust master/slave communication1600 tickets resolved
Long-Term Support ReleasesMain release linePick good main releaseLTS release lineSep 20111.409.2Backport proven fixes from main releasesJune 20111.409.1
LTS Gets Extra Testing & Eyeballs
LTS - Even Hudson user likes it!“Jenkins has introduced a Long Term Support release, with less new features but more stability. Copying Jenkins is maybe politically complicated, but it could be a good way to smooth the transition.”--- in Hudson users list
Jenkins is now in Ubuntu
5 more native packagesMac OS X and Solaris, especiallynew
Ecosystem Expansionhttp://www.flickr.com/photos/husein/2077933931/
BookNicely complements Wiki
BookFrom the guy behind Jenkins-php.orgAnother one in Japanese coming this year
CloudBees
Shining Panda
Tasktop - Mylyn Jenkins Connector
WANdisco - UberSVN
CollabNetNext major release will ship Jenkins pre-bundledJenkins plugin to use lab management as cloud
Jenkins Mobi – iPhone & Android
Static code analysis toolLatest version (Coverity 5.5) ships out of the box with Jenkins plugin
Adoption Statisticshttp://www.flickr.com/photos/st3f4n/2865510059/
Conversion rate trackingIn the last Hudson release we posted, we put up a sign postLet the user chose between Hudson and Jenkins
Converging to about 85%Eclipse move isn’t making any differenceUpgrades still happeningOnly ~10% upgraded this wayCumulative stack area chartY: # of conversions
Update Center Hits/wkCounted UC data retrievalHudson Labs is where we used to run UCShowing very rapid conversion to Jenkins90% at this pointCumulative stack area chartY: # of successful GET reqs
Anonymous Usage StatisticsBased on anonymous usage data collectionOne-off instances are filtered out~75% conversion from legacy to JenkinsAdoption regaining momentumCumulative stack area chartY: # of unique installation IDs
Ticket activity: Jenkins vs HudsonCounting # of filed ticketsEclipse move isn’t making any dentsAbout 2300 vs 300 new tickets since split
Different stat, same story# of commits in plugins/weekArea chart. Not stacked.Avg 280Avg 16
Different stat, same storyGitHub Repositories58638
Different stat, same story1295/movs299/moMailing List Traffic (user+dev)
Different stat, same storyDev list subscribers
Different stat, same storyUsers list subscribers
Different stat, same storyTwitter
Different stat, same storyTwitter followers
Upcoming Features
Core Internal ImprovementsGuice integrationUsing IoC to discover/inject componentsJUnit4 test harnessMore extensibilityBetter performanceBetter mocking
Core ImprovementsMoving Core Java features into pluginsDone: Ant, javadocMaven, JUnitMore flexibility in Maven pluginsAdding build steps before/after
What I’d like to work onEasier test parallelizationBy taking advantages of slavesDistributed execution assistanceUse Jenkins slaves as general-purpose computing gridAdding new plugins without restart
Other Cool ProjectsJekins plugin development in RubyMore about this from Charles laterRunning slave agents on Android
ConclusionsLots of progresses, in terms ofGovernanceAdoptionCompetitionEcosystemAnd lots more progress to comeEnjoy the rest of the day!
Thank You To Our SponsorsComing Soon:  The CloudBees Newsletter for Jenkins Please complete the Jenkins survey to help us better serve the community	(bonus: a chance to win an Apple TV!)
BACKUP
Update Center Hits/wk
Then it just gradually took on2008 Update center implemented

Jenkins user conference 2011

Editor's Notes

  • #3 Round of applause to the organizing committee