SlideShare a Scribd company logo
1 of 53
Opening Opensourcethe Jenkins Way BreizhCamp 17 juin 2011 ©2011 Cloud Bees, Inc. All Rights Reserved
Nicolas De loof ,[object Object]
New-Bee at
(ex-)CommitterMaven
JUG-Leader©2011 CloudBees, Inc. All Rights Reserved
Jenkins ? ©2011 CloudBees, Inc. All Rights Reserved
de factocontinuousintegration Server in Java ecosystem(non exclusive) Basis for Software Factory automation ,[object Object]
Release management
Continuousdeployment
Business Intelligence …©2011 CloudBees, Inc. All Rights Reserved
Hudson / Jenkins : the fork ©2011 CloudBees, Inc. All Rights Reserved
©2011 CloudBees, Inc. All Rights Reserved User choosed Jenkins 13 000 downloads / week 1 500 member on jenkins-users 4 000 followers @jenkinsci
900 members on jenkins-dev 48 active contributors, 94 publicized 170 Pull-requestsfromoccasionalcontributors 11,3 changes per release(6,7 before the fork) … as Developersdid ©2011 CloudBees, Inc. All Rights Reserved
OpenSource model How to attract new contributors ? ©2011 CloudBees, Inc. All Rights Reserved
Voice committer Committer Contributor Supporting User User Standard OSS model « meritocratic » ©2011 CloudBees, Inc. All Rights Reserved
Use the tool Contribute to user-forum Getfamiliarwith the code Contribute to dev-forum Fix bugs and post patches Be nicewitheverybody Do some lobbying How to become a Committer … ©2011 CloudBees, Inc. All Rights Reserved
Difficult to getinto the code Difficult to getspare time Difficult to fix bug or add new features Laborious to create and maintain patches Frustrating to wait for approval How manytalentuousguys do weloosehere ? In practice… ©2011 CloudBees, Inc. All Rights Reserved
Mypersonalexperience ©2011 CloudBees, Inc. All Rights Reserved Motivation (# of contributions) (neveroccurred)
Rule #1 : lower the contribution barrier The Jenkins-way ©2011 CloudBees, Inc. All Rights Reserved
Want to contribute ? ©2011 CloudBees, Inc. All Rights Reserved Ask for commit
« Withgreat power, comesgreatresponsibility » Self-censoredcontributors ©2011 CloudBees, Inc. All Rights Reserved
Discover a regression : revert Test harness to the rescue(stillmuch to do there) Possible if therewas few changes between releases ! Hey, thisis SCM roleafter all ! ©2011 CloudBees, Inc. All Rights Reserved
Rule #2 : Release often (even more) The Jenkins-way ©2011 CloudBees, Inc. All Rights Reserved
One release per week Few changes between releases Easy to rollbackwhensomethingisbroken + « stable but older » branch (3 month) withCritical bug fixes only Jenkins releases ©2011 CloudBees, Inc. All Rights Reserved
OpenSource model How to merge contributions ? ©2011 CloudBees, Inc. All Rights Reserved
Contributormayask for code review Contribution mayrequire few changes beforebeeingapplied Wedon’twant to discouragecontributors WTF ? ©2011 CloudBees, Inc. All Rights Reserved
Diff format isdefinitly not a sexy format for humans > +@Deprecated > +public class Base64 > +{ > +    public Base64() > +    { > +        super(); Doesitreallyneed to call Object.super(). Can we not leaveitwith the default constructor as Plexus' original has? > +    } Diff format (SVN patch) ©2011 CloudBees, Inc. All Rights Reserved
GitHub pull request ©2011 CloudBees, Inc. All Rights Reserved
Rule #3 : Tools matter, use the right ones The Jenkins-way ©2011 CloudBees, Inc. All Rights Reserved patch Pull request + Commit pattern
Origin of the Hudson/Jenkins fork(java.netoutage) 200 forks on Jenkins GitHub repo ! 170 pull requests Jenkins atGitHub ©2011 CloudBees, Inc. All Rights Reserved
Opensource model Embrace new features ©2011 CloudBees, Inc. All Rights Reserved
250 plugins !(maven plugin is the only one in core) Evengrowingecosystem Contributorcan focus on some plugin thatbringthem value daily Modular design ©2011 CloudBees, Inc. All Rights Reserved
Extension point withruntimediscovery Need to plugsomewhere in Jenkins ? add a new extension point Someidea for a new plugin ?  add for a repo on github/jenkins-ci Extensibility ©2011 CloudBees, Inc. All Rights Reserved
Rule #6 : design for extensibility  Multiple technical solutions (incl. @Inject) The Jenkins way ©2011 CloudBees, Inc. All Rights Reserved
OpenSource model How to talk together ? ©2011 CloudBees, Inc. All Rights Reserved
User forum Dev forum Private forum (+ lobbying) Multiple discussion levels ©2011 CloudBees, Inc. All Rights Reserved
Need for private discussion whenitcouldhurtsomeone ,[object Object],… but wedon’t have to « filter » committersanymore WTF ? ©2011 CloudBees, Inc. All Rights Reserved
All discussions are public On jenkins-dev On irc #jenkinsci Meeting bi-weekly on irc Logged by irc-bot for lateravailabilityhttp://meetings.jenkins-ci.org/jenkins transparency ©2011 CloudBees, Inc. All Rights Reserved
Rule #4 : Makethings transparent The Jenkins way ©2011 CloudBees, Inc. All Rights Reserved
OpenSource model Who’s the boss ? ©2011 CloudBees, Inc. All Rights Reserved
Right, projectneedssome sort of lead… but not a despot ! « BenevolentDictator For Life »-syndrom Lead ©2011 CloudBees, Inc. All Rights Reserved
Highly active contributor Good knowledge of projecthistory Good technicalskills Visionary Newbie-compliant Not egocentric Lead must be … ©2011 CloudBees, Inc. All Rights Reserved
Kohsuke Kawaguchi Andrew Bayer Dean Yu (all from != companies) And discuss in public ! Lead-commiteeissafer ©2011 CloudBees, Inc. All Rights Reserved
Rule #5 : choose a good Lead model  focus first on building a community The Jenkins way ©2011 CloudBees, Inc. All Rights Reserved
Opensource (x)or Business ? ©2011 CloudBees, Inc. All Rights Reserved
( ©2011 CloudBees, Inc. All Rights Reserved
CloudBees relation with Jenkins ? ©2011 CloudBees, Inc. All Rights Reserved
Nectar : enhanced & supported Jenkins DEV@Cloud : hosted software factory RUN@Cloud : Java PaaS Public : hosted by Amazon Private : on yourownvirtualized infra CloudBees in 5 words ©2011 CloudBees, Inc. All Rights Reserved
KK is a CloudBeesemployee… but CloudBeesengaged to neverinterferewith Jenkins Lead committee DEV@Cloudisawesomethanks to active opensourceecosystem ! CloudBees vs OpenSource ©2011 CloudBees, Inc. All Rights Reserved
CloudBeescontributesbugfixes to OSS CloudBees vs OpenSource ©2011 CloudBees, Inc. All Rights Reserved
Q&A, stabilised + support (here I am!) Some entreprise plugins ,[object Object]
Virtualisation, auto-scaling, hypervisorintegration
Jobs classification (folders)

More Related Content

What's hot

(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
Benjamin Cabé
 
Badge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CIIBadge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CII
Open Source Experience
 
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Michael Zhang
 
Cloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions ComparedCloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions Compared
Work-Bench
 

What's hot (20)

SMART Cloud - K8s in produzione - best practices
SMART Cloud - K8s in produzione - best practices SMART Cloud - K8s in produzione - best practices
SMART Cloud - K8s in produzione - best practices
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
Enabling Business Agility with SUSE CaaS Platform
Enabling Business Agility with SUSE CaaS PlatformEnabling Business Agility with SUSE CaaS Platform
Enabling Business Agility with SUSE CaaS Platform
 
server to cloud: converting a legacy platform to an open source paas
server to cloud:  converting a legacy platform to an open source paasserver to cloud:  converting a legacy platform to an open source paas
server to cloud: converting a legacy platform to an open source paas
 
Xen Project on SUSE OpenStack Cloud
Xen Project on SUSE OpenStack CloudXen Project on SUSE OpenStack Cloud
Xen Project on SUSE OpenStack Cloud
 
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and AnalyticsAnalyze This! CloudBees Jenkins Cluster Operations and Analytics
Analyze This! CloudBees Jenkins Cluster Operations and Analytics
 
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
(E)Git + Tycho + Gerrit + Mylyn = #WIN @ Eclipse Day Toulouse 2012
 
Docker openstack-2014
Docker openstack-2014Docker openstack-2014
Docker openstack-2014
 
Badge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CIIBadge des bonnes pratiques OpenSSF de la CII
Badge des bonnes pratiques OpenSSF de la CII
 
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
Q con shanghai2013-[黄舒泉]-[intel it openstack practice]
 
Xen: Hypervisor for the Cloud - CCC13
Xen: Hypervisor for the Cloud - CCC13Xen: Hypervisor for the Cloud - CCC13
Xen: Hypervisor for the Cloud - CCC13
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
Scaling Jenkins
Scaling Jenkins Scaling Jenkins
Scaling Jenkins
 
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
Quickly build and deploy a scalable OpenStack Swift application using IBM Blu...
 
Cloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions ComparedCloud Native Infrastructure Management Solutions Compared
Cloud Native Infrastructure Management Solutions Compared
 
Open Source on the Mainframe Mini-Summit 2019 - SUSE and IBM Z
Open Source on the Mainframe Mini-Summit 2019 - SUSE and IBM Z Open Source on the Mainframe Mini-Summit 2019 - SUSE and IBM Z
Open Source on the Mainframe Mini-Summit 2019 - SUSE and IBM Z
 
The Butler is still young – applying modern Jenkins features to the Embedded ...
The Butler is still young – applying modern Jenkins features to the Embedded ...The Butler is still young – applying modern Jenkins features to the Embedded ...
The Butler is still young – applying modern Jenkins features to the Embedded ...
 
Learn OpenStack from trystack.cn
Learn OpenStack from trystack.cnLearn OpenStack from trystack.cn
Learn OpenStack from trystack.cn
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
 
Immutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh CormanImmutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh Corman
 

Viewers also liked

Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
CloudBees
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it works
Kazuto Kusama
 

Viewers also liked (8)

Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBeesJava / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
 
Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison Java in the Cloud : PaaS Platforms in Comparison
Java in the Cloud : PaaS Platforms in Comparison
 
Enterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha LaboureyEnterprise Java Virtualization, Sacha Labourey
Enterprise Java Virtualization, Sacha Labourey
 
DBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs WorldDBaaS- Database as a Service in a DBAs World
DBaaS- Database as a Service in a DBAs World
 
Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it works
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 

Similar to Opening opensource : The Jenkins Way

How can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the CloudHow can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the Cloud
CloudBees
 
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiTap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
ZeroTurnaround
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
mfrancis
 
Paremus service fabric
Paremus service fabricParemus service fabric
Paremus service fabric
pjhInovex
 
Running productioninstance 1-localcopy
Running productioninstance 1-localcopyRunning productioninstance 1-localcopy
Running productioninstance 1-localcopy
CloudBees
 
Scratching your own itch
Scratching your own itchScratching your own itch
Scratching your own itch
Joey Echeverria
 

Similar to Opening opensource : The Jenkins Way (20)

Ma forge++ : @Cloud
Ma forge++ : @CloudMa forge++ : @Cloud
Ma forge++ : @Cloud
 
How can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the CloudHow can Liferay Developers, Deployers move to the Cloud
How can Liferay Developers, Deployers move to the Cloud
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
 
Continuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBeesContinuous Delivery with Grails and CloudBees
Continuous Delivery with Grails and CloudBees
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
 
Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011
 
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiTap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
 
Jenkins user meetup @paris
Jenkins user meetup @parisJenkins user meetup @paris
Jenkins user meetup @paris
 
Jenkins Enterprise by CloudBees Webinar
Jenkins Enterprise by CloudBees WebinarJenkins Enterprise by CloudBees Webinar
Jenkins Enterprise by CloudBees Webinar
 
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent HuckeZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
 
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/SDedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/S
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
Paremus service fabric
Paremus service fabricParemus service fabric
Paremus service fabric
 
Running productioninstance 1-localcopy
Running productioninstance 1-localcopyRunning productioninstance 1-localcopy
Running productioninstance 1-localcopy
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Scratching your own itch
Scratching your own itchScratching your own itch
Scratching your own itch
 
Scratching your own itch
Scratching your own itchScratching your own itch
Scratching your own itch
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tycho
 

More from Nicolas De Loof

More from Nicolas De Loof (17)

Quand Internet sera gouvernée par les |chats> de Shrödinger
Quand Internet sera gouvernée par les |chats> de ShrödingerQuand Internet sera gouvernée par les |chats> de Shrödinger
Quand Internet sera gouvernée par les |chats> de Shrödinger
 
Quand Internet sera gouvernée par les |chats> de Shrödinger
Quand Internet sera gouvernée par les |chats> de ShrödingerQuand Internet sera gouvernée par les |chats> de Shrödinger
Quand Internet sera gouvernée par les |chats> de Shrödinger
 
Breaking the RpiDocker challenge
Breaking the RpiDocker challenge Breaking the RpiDocker challenge
Breaking the RpiDocker challenge
 
( jenkins, docker ) -> { Continuous Delivery }
( jenkins, docker ) -> { Continuous Delivery }( jenkins, docker ) -> { Continuous Delivery }
( jenkins, docker ) -> { Continuous Delivery }
 
Docker slaves
Docker slavesDocker slaves
Docker slaves
 
Orchestrate Continuous Delivery with Jenkins and Docker
Orchestrate Continuous Delivery with Jenkins and DockerOrchestrate Continuous Delivery with Jenkins and Docker
Orchestrate Continuous Delivery with Jenkins and Docker
 
Développer en Java et en Caleçon
Développer en Java et en CaleçonDévelopper en Java et en Caleçon
Développer en Java et en Caleçon
 
Dockers zero to hero - (medium version)
Dockers zero to hero - (medium version)Dockers zero to hero - (medium version)
Dockers zero to hero - (medium version)
 
Docker bdxio
Docker bdxioDocker bdxio
Docker bdxio
 
Dockers zero to hero
Dockers zero to heroDockers zero to hero
Dockers zero to hero
 
Likebox - votre avis nous intéresse
Likebox - votre avis nous intéresseLikebox - votre avis nous intéresse
Likebox - votre avis nous intéresse
 
La révolution Docker
La révolution DockerLa révolution Docker
La révolution Docker
 
Cloud patterns - softshake 2013
Cloud patterns - softshake 2013Cloud patterns - softshake 2013
Cloud patterns - softshake 2013
 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
 
Objectif cloud
Objectif cloudObjectif cloud
Objectif cloud
 
Doing Business with OpenSource - a short (unofficial) CloudBees story
Doing Business with OpenSource - a short (unofficial) CloudBees storyDoing Business with OpenSource - a short (unofficial) CloudBees story
Doing Business with OpenSource - a short (unofficial) CloudBees story
 
Javavs net
Javavs netJavavs net
Javavs net
 

Recently uploaded

Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 

Recently uploaded (20)

On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 

Opening opensource : The Jenkins Way

  • 1. Opening Opensourcethe Jenkins Way BreizhCamp 17 juin 2011 ©2011 Cloud Bees, Inc. All Rights Reserved
  • 2.
  • 5. JUG-Leader©2011 CloudBees, Inc. All Rights Reserved
  • 6. Jenkins ? ©2011 CloudBees, Inc. All Rights Reserved
  • 7.
  • 10. Business Intelligence …©2011 CloudBees, Inc. All Rights Reserved
  • 11. Hudson / Jenkins : the fork ©2011 CloudBees, Inc. All Rights Reserved
  • 12. ©2011 CloudBees, Inc. All Rights Reserved User choosed Jenkins 13 000 downloads / week 1 500 member on jenkins-users 4 000 followers @jenkinsci
  • 13. 900 members on jenkins-dev 48 active contributors, 94 publicized 170 Pull-requestsfromoccasionalcontributors 11,3 changes per release(6,7 before the fork) … as Developersdid ©2011 CloudBees, Inc. All Rights Reserved
  • 14. OpenSource model How to attract new contributors ? ©2011 CloudBees, Inc. All Rights Reserved
  • 15. Voice committer Committer Contributor Supporting User User Standard OSS model « meritocratic » ©2011 CloudBees, Inc. All Rights Reserved
  • 16. Use the tool Contribute to user-forum Getfamiliarwith the code Contribute to dev-forum Fix bugs and post patches Be nicewitheverybody Do some lobbying How to become a Committer … ©2011 CloudBees, Inc. All Rights Reserved
  • 17. Difficult to getinto the code Difficult to getspare time Difficult to fix bug or add new features Laborious to create and maintain patches Frustrating to wait for approval How manytalentuousguys do weloosehere ? In practice… ©2011 CloudBees, Inc. All Rights Reserved
  • 18. Mypersonalexperience ©2011 CloudBees, Inc. All Rights Reserved Motivation (# of contributions) (neveroccurred)
  • 19. Rule #1 : lower the contribution barrier The Jenkins-way ©2011 CloudBees, Inc. All Rights Reserved
  • 20. Want to contribute ? ©2011 CloudBees, Inc. All Rights Reserved Ask for commit
  • 21. « Withgreat power, comesgreatresponsibility » Self-censoredcontributors ©2011 CloudBees, Inc. All Rights Reserved
  • 22. Discover a regression : revert Test harness to the rescue(stillmuch to do there) Possible if therewas few changes between releases ! Hey, thisis SCM roleafter all ! ©2011 CloudBees, Inc. All Rights Reserved
  • 23. Rule #2 : Release often (even more) The Jenkins-way ©2011 CloudBees, Inc. All Rights Reserved
  • 24. One release per week Few changes between releases Easy to rollbackwhensomethingisbroken + « stable but older » branch (3 month) withCritical bug fixes only Jenkins releases ©2011 CloudBees, Inc. All Rights Reserved
  • 25. OpenSource model How to merge contributions ? ©2011 CloudBees, Inc. All Rights Reserved
  • 26. Contributormayask for code review Contribution mayrequire few changes beforebeeingapplied Wedon’twant to discouragecontributors WTF ? ©2011 CloudBees, Inc. All Rights Reserved
  • 27. Diff format isdefinitly not a sexy format for humans > +@Deprecated > +public class Base64 > +{ > + public Base64() > + { > + super(); Doesitreallyneed to call Object.super(). Can we not leaveitwith the default constructor as Plexus' original has? > + } Diff format (SVN patch) ©2011 CloudBees, Inc. All Rights Reserved
  • 28. GitHub pull request ©2011 CloudBees, Inc. All Rights Reserved
  • 29. Rule #3 : Tools matter, use the right ones The Jenkins-way ©2011 CloudBees, Inc. All Rights Reserved patch Pull request + Commit pattern
  • 30. Origin of the Hudson/Jenkins fork(java.netoutage) 200 forks on Jenkins GitHub repo ! 170 pull requests Jenkins atGitHub ©2011 CloudBees, Inc. All Rights Reserved
  • 31. Opensource model Embrace new features ©2011 CloudBees, Inc. All Rights Reserved
  • 32. 250 plugins !(maven plugin is the only one in core) Evengrowingecosystem Contributorcan focus on some plugin thatbringthem value daily Modular design ©2011 CloudBees, Inc. All Rights Reserved
  • 33. Extension point withruntimediscovery Need to plugsomewhere in Jenkins ? add a new extension point Someidea for a new plugin ?  add for a repo on github/jenkins-ci Extensibility ©2011 CloudBees, Inc. All Rights Reserved
  • 34. Rule #6 : design for extensibility  Multiple technical solutions (incl. @Inject) The Jenkins way ©2011 CloudBees, Inc. All Rights Reserved
  • 35. OpenSource model How to talk together ? ©2011 CloudBees, Inc. All Rights Reserved
  • 36. User forum Dev forum Private forum (+ lobbying) Multiple discussion levels ©2011 CloudBees, Inc. All Rights Reserved
  • 37.
  • 38. All discussions are public On jenkins-dev On irc #jenkinsci Meeting bi-weekly on irc Logged by irc-bot for lateravailabilityhttp://meetings.jenkins-ci.org/jenkins transparency ©2011 CloudBees, Inc. All Rights Reserved
  • 39. Rule #4 : Makethings transparent The Jenkins way ©2011 CloudBees, Inc. All Rights Reserved
  • 40. OpenSource model Who’s the boss ? ©2011 CloudBees, Inc. All Rights Reserved
  • 41. Right, projectneedssome sort of lead… but not a despot ! « BenevolentDictator For Life »-syndrom Lead ©2011 CloudBees, Inc. All Rights Reserved
  • 42. Highly active contributor Good knowledge of projecthistory Good technicalskills Visionary Newbie-compliant Not egocentric Lead must be … ©2011 CloudBees, Inc. All Rights Reserved
  • 43. Kohsuke Kawaguchi Andrew Bayer Dean Yu (all from != companies) And discuss in public ! Lead-commiteeissafer ©2011 CloudBees, Inc. All Rights Reserved
  • 44. Rule #5 : choose a good Lead model  focus first on building a community The Jenkins way ©2011 CloudBees, Inc. All Rights Reserved
  • 45. Opensource (x)or Business ? ©2011 CloudBees, Inc. All Rights Reserved
  • 46. ( ©2011 CloudBees, Inc. All Rights Reserved
  • 47. CloudBees relation with Jenkins ? ©2011 CloudBees, Inc. All Rights Reserved
  • 48. Nectar : enhanced & supported Jenkins DEV@Cloud : hosted software factory RUN@Cloud : Java PaaS Public : hosted by Amazon Private : on yourownvirtualized infra CloudBees in 5 words ©2011 CloudBees, Inc. All Rights Reserved
  • 49. KK is a CloudBeesemployee… but CloudBeesengaged to neverinterferewith Jenkins Lead committee DEV@Cloudisawesomethanks to active opensourceecosystem ! CloudBees vs OpenSource ©2011 CloudBees, Inc. All Rights Reserved
  • 50. CloudBeescontributesbugfixes to OSS CloudBees vs OpenSource ©2011 CloudBees, Inc. All Rights Reserved
  • 51.
  • 55. …Nectar value for entreprises ©2011 CloudBees, Inc. All Rights Reserved
  • 56. Jenkins cluster Multi-tenant masters Pool of slaves Automaticprovisionning On phisical or virtual machines Centralised management (plugins, upgrades, default config…) DEV@CloudPrivate Edition ©2011 CloudBees, Inc. All Rights Reserved
  • 57. Thanks to flexible Jenkins model Easiest maintenance Easiest contributions to oss All thosesfeatures are Plugins ! ©2011 CloudBees, Inc. All Rights Reserved
  • 58. ) ©2011 CloudBees, Inc. All Rights Reserved
  • 59. Does Jenkins model applyelsewhere ? ©2011 CloudBees, Inc. All Rights Reserved
  • 60. I’mtrying to for GWT-maven-plugin Does Jenkins model applyelsewhere ? ©2011 CloudBees, Inc. All Rights Reserved
  • 61. #1 : lower the contribution barrierjustask to join the team ! #2 : release oftenone release per month #3 : toolsmattermovedfromcodehaussvn to GitHub #4 : makeit transparenteverythinghappens on googlegroups #5 : choose a good lead-modelmyself + Olivier Lamy, may change … #6 : design for extensibilitymore investigation requiredhere Applyingrules ©2011 CloudBees, Inc. All Rights Reserved
  • 62.
  • 65. theyfixed issues by themself !Salvador Diaz to analyse Pull Request Pierre-Yves Ricaucommitted 5 fixes Doesitwork ? ©2011 CloudBees, Inc. All Rights Reserved
  • 66. Q&A Thankyou ©2011 CloudBees, Inc. All Rights Reserved