Post on 06-Jan-2016
description
transcript
Jenkins User Conference San Francisco, Oct 2nd 2011
%
100
Jenkins State of Union 2011
Kohsuke Kawaguchi, CloudBees, Inc.Creator of Jenkins
@kohsukekawahttp://cloudbees.com/
Jenkins User Conference San Francisco, Oct 2nd 2011
Jenkins User Conference!
• 30 talk submissions• 380+ registration• 7 sponsors• Staff
Thank you!
Jenkins User Conference San Francisco, Oct 2nd 2011
2004 Summer
• I broke one too many builds
• Wouldn’t it be nice if …?
Jenkins User Conference San Francisco, Oct 2nd 2011
And so it began
• build.sh
• monitor.sh
• Run from cron
#!/bin/bash -exexec 2>&1cd /files/jaxb-ricvs updateant
#!/bin/bash -exbuild.sh > build.log || mail …
Jenkins User Conference San Francisco, Oct 2nd 2011
Then I wrote my version
Jenkins User Conference San Francisco, Oct 2nd 2011
By 1.15 (Feb ‘06)
Jenkins User Conference San Francisco, Oct 2nd 2011
The culture was established early on• Weekly release cycles• Extensibility via plugin• Lower barrier to entry• Backward compatibility matters
• And then we just kept on keeping on
Jenkins User Conference San Francisco, Oct 2nd 2011
Plugin Growth
Jan-07 Jan-08 Jan-09 Jan-10 Jan-110
50
100
150
200
250
300
350
400
450releasestotal plug-insnew plugins
627
94
223
313
470?
Jenkins User Conference San Francisco, Oct 2nd 2011
Ticket Activities
Jan-07 Jan-08 Jan-09 Jan-10 Jan-110
2000
4000
6000
8000
10000
12000
Total created
40950
2600
5000
8200
12000?
Jenkins User Conference San Francisco, Oct 2nd 2011
Jenkins User Conference San Francisco, Oct 2nd 2011
Usage All Around the World
Jenkins User Conference San Francisco, Oct 2nd 2011
2011 Jan: Divorce
• Oracle: “you do it our way or highway”
• Community chose highway: 214 to 14– That’s when we became Jenkins
Jenkins User Conference San Francisco, Oct 2nd 2011
8 months have passed.
Jenkins User Conference San Francisco, Oct 2nd 2011
Where are we now?
Jenkins User Conference San Francisco, Oct 2nd 2011
More Transparent/FormalGovernance
Jenkins User Conference San Francisco, Oct 2nd 2011
Legal Entity
• Jenkins now affiliated with Software in the Public Interest (SPI)– NPO to promote free and open software– Joined the likes of Debian, Drupal,
PostgreSQL
• Enables us to enter into contract, own assets, and live longer than individuals
Jenkins User Conference San Francisco, Oct 2nd 2011
Fundraising Drive
• Through SPI, so tax deductible• jenkins-ci.org/donate• Raising $5130 (the bandwidth
overage during summer)– Broad donation base is good for the
project, so your help would be appreciated
$3870 $1260
Jenkins User Conference San Francisco, Oct 2nd 2011
Interim Governance Board• Myself, from CloudBees• Andrew Bayer, from Cloudera• Dean Yu, from Yahoo
Jenkins User Conference San Francisco, Oct 2nd 2011
Project Meeting
• Bi-weekly meetings– Held in IRC– Agenda/participation open to anyone– Logs available online
Jenkins User Conference San Francisco, Oct 2nd 2011
Governance Document
• Today, we announce that we adopted an official governance document– Our implicit modus operandi, made
explicit– https://wiki.jenkins-ci.org/display/JENKINS/Governance+Document
Jenkins User Conference San Francisco, Oct 2nd 2011
Governance Document
• Clarifies how we work– Should make onboarding easier
• License policies• Project roles• Name usage• Check list for
pull requests
Jenkins User Conference San Francisco, Oct 2nd 2011
Contributor License Agreement
• As a part of governance document, the project approved of collecting CLA for core– Based on CLA used by Apache– Further clarifies the rights associated
with contributions– Protect users and projects from potential
legal disputes
Jenkins User Conference San Francisco, Oct 2nd 2011
Infrastructures andReleases
http://www.flickr.com/photos/acmace/4410650624/
Jenkins User Conference San Francisco, Oct 2nd 2011
Diversity is good for project• We rely on diverse entities to run
jenkins-ci.org
• Thanks to
Jenkins User Conference San Francisco, Oct 2nd 2011
Server donation
• cucumber.jenkins-ci.org– Runs jenkins-ci.org and other critical
infrastructure services– Purchased by Tyler, Andrew, and myself– $2000 worth of the equipment
• Today we announce that we are donating this to SPI
Jenkins User Conference San Francisco, Oct 2nd 2011
Our mirrors around the world• Thanks!• 7 mirrors around the world– Nurnberg, Germany– Yokohama, Japan– Salt Lake City, Utah– Taipei, Taiwan–Madison, Wisconsin
Jenkins User Conference San Francisco, Oct 2nd 2011
More Open Infrastructure• For longest time, infra work was
behind the closed door–We can’t just hand out system access to
everyone
• But now Tyler is pushing Puppet to work– http://github.com/jenkinsci/infra-puppet– “Open-sourcing” server setup– Send in pull requests to make changes–# of trusted admins is less of a
bottleneck
Jenkins User Conference San Francisco, Oct 2nd 2011
Releases
• Main line continues weekly releases–With same emphasis to compatibility
“Peter created his plugin against Hudson 1.129 … got it running on Jenkins 1.397 without recompiling”
--- Stephen Connolly
Jenkins User Conference San Francisco, Oct 2nd 2011
But with a lot of new features• Lazy loading HTML fragments in config page to speed it up• DWR-like JavaScript reverse proxy• View in Groovy and Ruby• Uniform macro expansion mechanism• JavaSE 7 support• Custom view properties• Systematic XSS prevention• Solaris packages, Mac OS X packages• Memory monitoring and auto restart on Mac OS X• Rebuilding matrix project subset• API token for REST API• SSH public key authentication for CLI• Syntax highlighted Groovy console• JRebel support in plugin/core development• More robust master/slave communication
1600 tickets resolved
Jenkins User Conference San Francisco, Oct 2nd 2011
Long-Term Support Releases
Main release line
LTS release line
Pick good main release
Backport proven fixes from main releases
June 20111.409.1
Sep 20111.409.2
Jenkins User Conference San Francisco, Oct 2nd 2011
LTS Gets Extra Testing & Eyeballs
Jenkins User Conference San Francisco, Oct 2nd 2011
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 User Conference San Francisco, Oct 2nd 2011
Jenkins is now in Ubuntu
Jenkins User Conference San Francisco, Oct 2nd 2011
5 more native packages
• Mac OS X and Solaris, especiallynew
Jenkins User Conference San Francisco, Oct 2nd 2011
Ecosystem Expansion
http://www.flickr.com/photos/husein/2077933931/
Jenkins User Conference San Francisco, Oct 2nd 2011
Book
• Nicely complements Wiki
Jenkins User Conference San Francisco, Oct 2nd 2011
Book
• From the guy behind Jenkins-php.org
• Another one in Japanese coming this year
Jenkins User Conference San Francisco, Oct 2nd 2011
CloudBees
Jenkins User Conference San Francisco, Oct 2nd 2011
Shining Panda
Jenkins User Conference San Francisco, Oct 2nd 2011
Tasktop - Mylyn Jenkins Connector
Jenkins User Conference San Francisco, Oct 2nd 2011
WANdisco - UberSVN
Jenkins User Conference San Francisco, Oct 2nd 2011
CollabNet
– Next major release will ship Jenkins pre-bundled
– Jenkins plugin to use lab management as cloud
Jenkins User Conference San Francisco, Oct 2nd 2011
Adoption Statistics
http://www.flickr.com/photos/st3f4n/2865510059/
Jenkins User Conference San Francisco, Oct 2nd 2011
Conversion rate tracking
• In the last Hudson release we posted, we put up a sign post– Let the user chose between Hudson and
Jenkins
Jenkins User Conference San Francisco, Oct 2nd 2011
Converging to about 85%
0
500
1000
1500
2000
2500
3000
3500
jenkinshudson
• Eclipse move isn’t making any difference
• Upgrades still happening
• Only ~10% upgraded this way
Cumulative stack area chartY: # of conversions
Jenkins User Conference San Francisco, Oct 2nd 2011
Update Center Hits/wk
Jul-1
0
Sep-
10
Oct-1
0
Dec-1
0
Jan-
11
Mar
-11
May
-11
Jun-
11
Aug-
110
50,000
100,000
150,000
200,000
250,000
300,000
350,000
400,000
450,000
500,000 old hudsonjenkins
• Counted UC data retrieval
• Hudson Labs is where we used to run UC
• Showing very rapid conversion to Jenkins– 90% at this point
Cumulative stack area chartY: # of successful GET reqs
Jenkins User Conference San Francisco, Oct 2nd 2011
Anonymous Usage Statistics
Jul-1
0
Sep-
10
Oct-1
0
Nov-1
0
Jan-
11
Feb-
11
Apr-1
1
May
-11
Jul-1
1
Aug-
110
5000
10000
15000
20000
25000
30000
35000Estimated Oracle
Jenkins
Old Hudson
• Based on anonymous usage data collection
• One-off instances are filtered out
• ~75% conversion from legacy to Jenkins
• Adoption regaining momentum
Cumulative stack area chartY: # of unique installation IDs
Jenkins User Conference San Francisco, Oct 2nd 2011
Ticket activity: Jenkins vs Hudson
Dec-1
0
Jan-
11
Feb-
11
Feb-
11
Mar
-11
Mar
-11
Apr-1
1
May
-11
May
-11
Jun-
11
Jun-
11
Jul-1
1
Aug-1
1
Aug-1
1
Sep-
118000
8500
9000
9500
10000
10500
11000
JenkinsHudson
• Counting # of filed tickets
• Eclipse move isn’t making any dents
• About 2300 vs 300 new tickets since split
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
Jan-
2011
Jan-
2011
Jan-
2011
Feb-
2011
Feb-
2011
Mar
-201
1
Mar
-201
1
Mar
-201
1
Apr-2
011
Apr-2
011
May
-201
1
May
-201
1
May
-201
1
Jun-
2011
Jun-
2011
Jul-2
011
Jul-2
011
Jul-2
011
Aug-
2011
Aug-
2011
Sep-
2011
0
100
200
300
400
500
600JenkinsHudson
# of commits in plugins/week
Avg 280
Avg 16
Area chart. Not stacked.
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
Jan-
2011
Jan-
2011
Jan-
2011
Feb-
2011
Feb-
2011
Mar
-201
1
Mar
-201
1
Mar
-201
1
Apr-2
011
Apr-2
011
May
-201
1
May
-201
1
May
-201
1
Jun-
2011
Jun-
2011
Jul-2
011
Jul-2
011
Jul-2
011
Aug-
2011
Aug-
2011
Sep-
2011
Sep-
2011
0
100
200
300
400
500
600
JenkinsHudson
GitHub Repositories 586
38
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
2011/1
2011/2
2011/3
2011/4
2011/5
2011/6
2011/7
2011/8
2011/9
0200400600800
1,0001,2001,4001,6001,8002,000
JenkinsHudson
Mailing List Traffic (user+dev) 1295/movs
299/mo
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
2/1/
2011
2/12
/201
1
2/23
/201
1
3/6/
2011
3/17
/201
1
3/28
/201
1
4/8/
2011
4/19
/201
1
4/30
/201
1
5/11
/201
1
5/22
/201
1
6/2/
2011
6/13
/201
1
6/24
/201
1
7/5/
2011
7/16
/201
1
7/27
/201
1
8/7/
2011
8/18
/201
1
8/29
/201
1
9/9/
2011
9/20
/201
10
200
400
600
800
1000
1200
JenkinsHudson
Dev list subscribers
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
2/1/
2011
2/12
/201
1
2/23
/201
1
3/6/
2011
3/17
/201
1
3/28
/201
1
4/8/
2011
4/19
/201
1
4/30
/201
1
5/11
/201
1
5/22
/201
1
6/2/
2011
6/13
/201
1
6/24
/201
1
7/5/
2011
7/16
/201
1
7/27
/201
1
8/7/
2011
8/18
/201
1
8/29
/201
1
9/9/
2011
9/20
/201
10
500
1000
1500
2000
JenkinsHudson
Users list subscribers
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
Jenkins User Conference San Francisco, Oct 2nd 2011
Different stat, same story
2/1/
2011
2/12
/201
1
2/23
/201
1
3/6/
2011
3/17
/201
1
3/28
/201
1
4/8/
2011
4/19
/201
1
4/30
/201
1
5/11
/201
1
5/22
/201
1
6/2/
2011
6/13
/201
1
6/24
/201
1
7/5/
2011
7/16
/201
1
7/27
/201
1
8/7/
2011
8/18
/201
1
8/29
/201
1
9/9/
2011
9/20
/201
10
500100015002000250030003500400045005000 Jenkins
Hudson
Twitter followers
Jenkins User Conference San Francisco, Oct 2nd 2011
Upcoming Features
Jenkins User Conference San Francisco, Oct 2nd 2011
Core Internal Improvements• Guice integration– Using IoC to discover/inject components
• JUnit4 test harness–More extensibility– Better performance– Better mocking
Jenkins User Conference San Francisco, Oct 2nd 2011
Core Improvements
• Moving Core Java features into plugins– Done: Ant, javadoc–Maven, JUnit
• More flexibility in Maven plugins– Adding build steps before/after
Jenkins User Conference San Francisco, Oct 2nd 2011
What I’d like to work on
• Easier test parallelization– By taking advantages of slaves
• Distributed execution assistance– Use Jenkins slaves as general-purpose
computing grid
• Adding new plugins without restart
Jenkins User Conference San Francisco, Oct 2nd 2011
Other Cool Projects
• Jekins plugin development in Ruby–More about this from Charles later
• Running slave agents on Android
Jenkins User Conference San Francisco, Oct 2nd 2011
Conclusions
• Lots of progresses, in terms of– Governance– Adoption– Competition– Ecosystem
• And lots more progress to come
• Enjoy the rest of the day!
Jenkins User Conference San Francisco, Oct 2nd 2011
Thank You To Our SponsorsPlatinumSponsor
GoldSponsor
SilverSponsor
BronzeSponsors
Coming 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!)
Jenkins User Conference San Francisco, Oct 2nd 2011
BACKUP
Jenkins User Conference San Francisco, Oct 2nd 2011
Update Center Hits/wk
Jul-1
0
Aug-
10
Aug-
10
Sep-
10
Oct-1
0
Nov-1
0
Dec-1
0
Dec-1
0
Jan-
11
Feb-
11
Mar
-11
Apr-1
1
Apr-1
1
May
-11
Jun-
11
Jul-1
1
Aug-
11
Aug-
110
100,000
200,000
300,000
400,000
500,000
600,000 oracle (estimated)old Hudsonjenkins
Jenkins User Conference San Francisco, Oct 2nd 2011
Then it just gradually took on• 2008 Update center implemented
200901062009012420090211200903012009031920090406200904240
2000
4000
6000
8000
10000
12000
14000
unique instal-lation IDs