jenkins user conference 2011

67
Jenkins User Conference San Francisco, Oct 2 nd 2011 % 100 Jenkins State of Union 2011 Kohsuke Kawaguchi, CloudBees, Inc. Creator of Jenkins @kohsukekawa http://cloudbees.com/

Upload: kohsuke-kawaguchi

Post on 15-Jan-2015

17.715 views

Category:

Technology


2 download

DESCRIPTION

Jenkins User Conference key note slide (Oct 2011 at San Francisco)

TRANSCRIPT

Page 1: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

%

100

Jenkins State of Union 2011

Kohsuke Kawaguchi, CloudBees, Inc.Creator of Jenkins

@kohsukekawahttp://cloudbees.com/

Page 2: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Jenkins User Conference!

• 30 talk submissions• 380+ registration• 7 sponsors• Staff

Thank you!

Page 3: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

2004 Summer

• I broke one too many builds

• Wouldn’t it be nice if …?

Page 4: Jenkins user conference 2011

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 …

Page 5: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Then I wrote my version

Page 6: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

By 1.15 (Feb ‘06)

Page 7: Jenkins user conference 2011

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

Page 8: Jenkins user conference 2011

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?

Page 9: Jenkins user conference 2011

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?

Page 10: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Page 11: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Usage All Around the World

Page 12: Jenkins user conference 2011

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

Page 13: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

8 months have passed.

Page 14: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Where are we now?

Page 15: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

More Transparent/FormalGovernance

Page 16: Jenkins user conference 2011

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

Page 17: Jenkins user conference 2011

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

Page 18: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Interim Governance Board• Myself, from CloudBees• Andrew Bayer, from Cloudera• Dean Yu, from Yahoo

Page 19: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Project Meeting

• Bi-weekly meetings– Held in IRC– Agenda/participation open to anyone– Logs available online

Page 20: Jenkins user conference 2011

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

Page 21: Jenkins user conference 2011

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

Page 22: Jenkins user conference 2011

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

Page 23: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Infrastructures andReleases

http://www.flickr.com/photos/acmace/4410650624/

Page 24: Jenkins user conference 2011

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

Page 25: Jenkins user conference 2011

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

Page 26: Jenkins user conference 2011

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

Page 27: Jenkins user conference 2011

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

Page 28: Jenkins user conference 2011

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

Page 29: Jenkins user conference 2011

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

Page 30: Jenkins user conference 2011

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

Page 31: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

LTS Gets Extra Testing & Eyeballs

Page 32: Jenkins user conference 2011

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

Page 33: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Jenkins is now in Ubuntu

Page 34: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

5 more native packages

• Mac OS X and Solaris, especiallynew

Page 35: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Ecosystem Expansion

http://www.flickr.com/photos/husein/2077933931/

Page 36: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Book

• Nicely complements Wiki

Page 37: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Book

• From the guy behind Jenkins-php.org

• Another one in Japanese coming this year

Page 38: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

CloudBees

Page 39: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Shining Panda

Page 40: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Tasktop - Mylyn Jenkins Connector

Page 41: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

WANdisco - UberSVN

Page 42: Jenkins user conference 2011

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

Page 43: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Jenkins Mobi – iPhone & Android

Page 44: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

• Static code analysis tool– Latest version (Coverity 5.5) ships out of

the box with Jenkins plugin

Page 45: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Adoption Statistics

http://www.flickr.com/photos/st3f4n/2865510059/

Page 46: Jenkins user conference 2011

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

Page 47: Jenkins user conference 2011

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

Page 48: Jenkins user conference 2011

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

Page 49: Jenkins user conference 2011

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

Page 50: Jenkins user conference 2011

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

Page 51: Jenkins user conference 2011

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.

Page 52: Jenkins user conference 2011

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

Page 53: Jenkins user conference 2011

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

Page 54: Jenkins user conference 2011

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

Page 55: Jenkins user conference 2011

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

Page 56: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Different stat, same story

Twitter

Page 57: Jenkins user conference 2011

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

Page 58: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

Upcoming Features

Page 59: Jenkins user conference 2011

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

Page 60: Jenkins user conference 2011

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

Page 61: Jenkins user conference 2011

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

Page 62: Jenkins user conference 2011

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

Page 63: Jenkins user conference 2011

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!

Page 64: Jenkins user conference 2011

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!)

Page 65: Jenkins user conference 2011

Jenkins User Conference San Francisco, Oct 2nd 2011

BACKUP

Page 66: Jenkins user conference 2011

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

Page 67: Jenkins user conference 2011

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