SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Opening Opensource
the Jenkins Way

BreizhCamp 17 juin 2011




                  ©2011 Cloud Bees, Inc. All Rights Reserved
Nicolas De loof
•  Java-Boy
•  DevOps at
•  (ex-)Committer Maven

•  JUG-Leader




         ©2011 CloudBees, Inc. All Rights Reserved   2
©2011 CloudBees, Inc. All Rights
          Reserved
•  de facto continuous integration Server
   in Java ecosystem (non exclusive)
•  Basis for Software Factory automation
  o Q&A Code inspection
  o Release management
  o Continuous deployment
  o Business Intelligence …


              ©2011 CloudBees, Inc. All Rights Reserved   4
Hudson / Jenkins : the fork
     Jenkins	
   Here	
  we	
  are	
  
   Jenkins	
  defines	
  it’s	
  own	
  process	
  
           Hudson	
       moved	
  to	
  GitHub	
  and	
  proposed	
  to	
  Eclipse	
  FoundaKon	
  
      Sonatype	
  join	
  Oracle	
  Hudson	
  
   Vote	
  to	
  rename	
  the	
  project	
  and	
  move	
  to	
  GitHub	
  
   Oracle	
  uses	
  trademark	
  as	
  a	
  weapon	
  
   Issues	
  with	
  java.net	
  infrastructure	
  
   Oracle	
  register	
  «	
  Hudson	
  »	
  trademark	
  
   Oracle	
  aquire	
  SUN	
  
   Hudson	
  is	
  adopted	
  world	
  wide	
  
   KK	
  create	
  Hudson	
  as	
  a	
  Hobby	
  


                              ©2011 CloudBees, Inc. All Rights Reserved                           5
User choosed Jenkins
•  13 000 downloads / week
•  1 500 member on jenkins-users
•  4 000 followers @jenkinsci




            ©2011 CloudBees, Inc. All Rights Reserved   6
… as Developers did
•  900 members on jenkins-dev
•  48 active contributors, 94 publicized
•  170 Pull-requests from occasional
   contributors
•  11,3 changes per release
   (6,7 before the fork)




              ©2011 CloudBees, Inc. All Rights Reserved   7
©2011 CloudBees, Inc. All Rights
          Reserved
Standard OSS model « meritocratic »
•    Voice committer
•    Committer
•    Contributor
•    Supporting User
•    User




                ©2011 CloudBees, Inc. All Rights Reserved   9
How to become a Committer …
1.  Use the tool
2.  Contribute to user-forum
3.  Get familiar with the code
4.  Contribute to dev-forum
5.  Fix bugs and post patches
6.  Be nice with everybody
7.  Do some lobbying


              ©2011 CloudBees, Inc. All Rights Reserved   10
In practice…
•    Difficult to get into the code
•    Difficult to get spare time
•    Difficult to fix bug or add new features
•    Laborious to create and maintain patches
•    Frustrating to wait for approval

How many talentuous guys do we loose
here ?

                ©2011 CloudBees, Inc. All Rights Reserved   11
My personal experience
MoKvaKon	
  
(#	
  of	
  contribuKons)	
  




                                                                            (never	
  occurred)	
  


                                ©2011 CloudBees, Inc. All Rights Reserved                             12
The Jenkins-way
•  Rule #1 : lower the contribution barrier




               ©2011 CloudBees, Inc. All Rights Reserved   13
Want to contribute ?




                     Ask	
  for	
  commit	
  




             ©2011 CloudBees, Inc. All Rights Reserved   14
Self-censored contributors
« With great power, comes great responsibility »




                ©2011 CloudBees, Inc. All Rights Reserved   15
Hey, this is SCM role after all !
•  Discover a regression :
    revert
•  Test harness to the rescue
   (still much to do there)

Possible if there is few changes between
releases !



              ©2011 CloudBees, Inc. All Rights Reserved   16
The Jenkins-way
•  Rule #2 : Release often (even more)




              ©2011 CloudBees, Inc. All Rights Reserved   17
Jenkins releases
•  One release per week
•  Few changes between releases
•  Easy to rollback when something is
   broken

•  + « stable but older » branch (3 month)
   with Critical bug fixes only



              ©2011 CloudBees, Inc. All Rights Reserved   18
©2011 CloudBees, Inc. All Rights
          Reserved
WTF ?
•  Contributor may ask for code review
•  Contribution may require few changes
   before beeing applied
•  We don’t want to discourage contributors




              ©2011 CloudBees, Inc. All Rights Reserved   20
Diff format (SVN patch)
•  Diff format is definitly not a sexy format for
   humans

>   +@Deprecated
>   +public class Base64
>   +{
>   +    public Base64()
>   +    {
>   +        super();

Does it really need to call Object.super(). Can we not leave it with
the default constructor as Plexus' original has?

> +      }




                           ©2011 CloudBees, Inc. All Rights Reserved   21
GitHub pull request




             ©2011 CloudBees, Inc. All Rights Reserved   22
The Jenkins-way
•  Rule #3 : Tools matter, use the right ones




                    patch	
  



                                                          Pull	
  request	
  +	
  
                                                          Commit	
  paTern	
  




              ©2011 CloudBees, Inc. All Rights Reserved                              23
Jenkins at GitHub
•  Origin of the Hudson/Jenkins fork
   (java.net outage)

•  200 forks on Jenkins GitHub repo !
•  170 pull requests




              ©2011 CloudBees, Inc. All Rights Reserved   24
What about CLA ?




           ©2011 CloudBees, Inc. All Rights Reserved   25
What is a CLA for ?
•  Constrain contributors to transfer
   Intellectual Property
•  … but not to ensure they have
•  License is not a guarantee of freedom




•  This is a lawyers artifact

               ©2011 CloudBees, Inc. All Rights Reserved   26
The Jenkins-way
•  Rule #4 : We are developers, not lawyers




              ©2011 CloudBees, Inc. All Rights Reserved   27
©2011 CloudBees, Inc. All Rights
          Reserved
Modular design
•  250 plugins !
   (maven plugin is the only one in core)
•  Even growing ecosystem
•  Contributor can focus on some plugin
   that bring them value daily




              ©2011 CloudBees, Inc. All Rights Reserved   29
Extensibility
•  Extension point with runtime discovery
•  Need to plug somewhere in Jenkins ?
    add a new extension point

•  Some idea for a new plugin ?
    add for a repo on github/jenkins-ci




                ©2011 CloudBees, Inc. All Rights Reserved   30
The Jenkins way
•  Rule #5 : design for extensibility




 Multiple technical solutions (incl. @Inject)


               ©2011 CloudBees, Inc. All Rights Reserved   31
©2011 CloudBees, Inc. All Rights
          Reserved
Multiple discussion levels


•  User forum

•  Dev forum

•  Private forum

•  (+ lobbying)



                  ©2011 CloudBees, Inc. All Rights Reserved   33
WTF ?
•  Need for private discussion when it could
   hurt someone
  invitation for new Committers

… but we don’t have to « filter » committers
anymore




              ©2011 CloudBees, Inc. All Rights Reserved   34
transparency
•  All discussions are public
  –  On jenkins-dev
  –  On irc #jenkinsci


•  Meeting bi-weekly on irc
  –  Logged by irc-bot for later availability
     http://meetings.jenkins-ci.org/jenkins




                ©2011 CloudBees, Inc. All Rights Reserved   35
Multiple level of participation
•    24/7 on #jenkins
•    Active reader on mailing lists
•    Join the bi-weekly #irc meeting
•    Read the meeting minutes




                 ©2011 CloudBees, Inc. All Rights Reserved   36
The Jenkins way
Rule #6 : Make things transparent




             ©2011 CloudBees, Inc. All Rights Reserved   37
e-Mail avalanche syndrom
•  Multiple levels of commitment
    24/7 eMail addict
    filter mails by subject
    discuss major themes on bi-weekly meeting
    read meeting notes




              ©2011 CloudBees, Inc. All Rights Reserved   38
©2011 CloudBees, Inc. All Rights
          Reserved
Lead
•  Many contributor involved
•  Everyone can commit (with care)
•  No need for long debates thanks to small
   release cycles and transparency

•  But…
   project still needs some sort
   of lead


               ©2011 CloudBees, Inc. All Rights Reserved   40
A Lead
•  … but not a despot !




« Benevolent Dictator For Life »-syndrom


              ©2011 CloudBees, Inc. All Rights Reserved   41
Lead must be …
•    Highly active contributor
•    Good knowledge of project history
•    Good technical skills
•    Visionary
•    Newbie-compliant
•    Not egocentric



                ©2011 CloudBees, Inc. All Rights Reserved   42
Lead-commitee is safer


   •  Kohsuke Kawaguchi
   •  Andrew Bayer
   •  Dean Yu

   (all from distinct companies)
   And discuss in public !


             ©2011 CloudBees, Inc. All Rights Reserved   43
The Jenkins way
•  Rule #7 : choose a good Lead model




 focus first on building a community


             ©2011 CloudBees, Inc. All Rights Reserved   44
Opensource (x)or Business
« all from distinct companies » ?




              ©2011 CloudBees, Inc. All Rights Reserved   45
(
©2011 CloudBees, Inc. All Rights Reserved   46
©2011 CloudBees, Inc. All Rights
          Reserved
CloudBees in 5 words
•  Nectar : enhanced & supported Jenkins
•  DEV@Cloud : hosted software factory
•  RUN@Cloud : Java PaaS

•  Public : hosted by Amazon
•  Private : on your own virtualized infra



               ©2011 CloudBees, Inc. All Rights Reserved   48
CloudBees vs OpenSource
•  KK is a CloudBees employee

 … but CloudBees engaged to never
 interfere with Jenkins Lead committee

•  DEV@Cloud is awesome thanks to
   active opensource ecosystem !



             ©2011 CloudBees, Inc. All Rights Reserved   49
CloudBees vs OpenSource
•  CloudBees contributes bugfixes to OSS




             ©2011 CloudBees, Inc. All Rights Reserved   50
Nectar value for entreprises
•  Q&A, stabilised + supported
•  Some entreprise dedicated plugins
  o Security (RBAC)
  o Virtualisation, auto-scaling,
    hypervisor integration
  o Jobs classification (folders)
  o Advanced Backup
  o …


                ©2011 CloudBees, Inc. All Rights Reserved   51
DEV@Cloud Private Edition
•    Jenkins cluster
•    Multi-tenant masters
•    Pool of slaves
•    Automatic provisionning
     –  On phisical or virtual machines
•  Centralised management
   (plugins, upgrades, default config…)


                  ©2011 CloudBees, Inc. All Rights Reserved   52
All thoses features are Plugins !

•  Thanks to flexible Jenkins model
•  Easiest maintenance
•  Easiest contributions to oss
•  All Jenkins improvements are good for
   CloudBees
•  All time focused on Jenkins dev&support
   is good for Jenkins



               ©2011 CloudBees, Inc. All Rights Reserved   53
)
©2011 CloudBees, Inc. All Rights Reserved   54
©2011 CloudBees, Inc. All Rights
          Reserved
Does Jenkins model apply elsewhere ?
•  I’m trying to for GWT-maven-plugin




              ©2011 CloudBees, Inc. All Rights Reserved   56
Applying rules
•  lower the contribution barrier
    just ask to join the team !
•  release often
    one release per month
•  tools matter
    moved from codehaus svn to GitHub
•  make it transparent
    everything happens on googlegroups
•  choose a good lead-model
    myself + Olivier Lamy, may change …
•  design for extensibility
    more investigation required here


               ©2011 CloudBees, Inc. All Rights Reserved   57
Does it work ?
•  Future will say…

•  Allready some contributors to join :
  o  complaining about missing features,
  o  encouraged to contribute,
  o  added to team,
  o  they fixed issues by themself !
•  Salvador Diaz to analyse Pull Request
•  Pierre-Yves Ricau committed 5 fixes
•  .. an M2Eclipse configurator

                    ©2011 CloudBees, Inc. All Rights Reserved   58
Thank you
Q&A




            ©2011 CloudBees, Inc. All Rights Reserved   59

Weitere ähnliche Inhalte

Was ist angesagt?

CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksCampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksSanjeev Sharma
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...WalmartLabs
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 
Dev ops for software architects
Dev ops for software architectsDev ops for software architects
Dev ops for software architectsLen Bass
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael CollinsDevopsdays
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureBrad Appleton
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple stepsIhor Odynets
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...DevOpsDays Tel Aviv
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesDevOps.com
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at FrosconKris Buytaert
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CDCprime
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devopsMatthew Skelton
 
Enterprise DevOps and the Cloud
Enterprise DevOps and the CloudEnterprise DevOps and the Cloud
Enterprise DevOps and the CloudCloudCheckr
 

Was ist angesagt? (20)

CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate BottlenecksCampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
CampDevOps keynote - DevOps: Using 'Lean' to eliminate Bottlenecks
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
How We Do DevOps at Walmart: OneOps OSS Application Lifecycle Management Plat...
 
How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Dev ops for software architects
Dev ops for software architectsDev ops for software architects
Dev ops for software architects
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary Architecture
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
DevOps
DevOpsDevOps
DevOps
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
Continuous Delivery e-book
Continuous Delivery e-bookContinuous Delivery e-book
Continuous Delivery e-book
 
The business case for devops
The business case for devopsThe business case for devops
The business case for devops
 
Enterprise DevOps and the Cloud
Enterprise DevOps and the CloudEnterprise DevOps and the Cloud
Enterprise DevOps and the Cloud
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 

Ähnlich wie Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees

Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins WayNicolas De Loof
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins communityKohsuke Kawaguchi
 
Scratching your own itch
Scratching your own itchScratching your own itch
Scratching your own itchKathleen Ting
 
Scratching your own itch
Scratching your own itchScratching your own itch
Scratching your own itchJoey Echeverria
 
Creating a Developer Community
Creating a Developer CommunityCreating a Developer Community
Creating a Developer CommunityKohsuke Kawaguchi
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkinsCloudBees
 
Running productioninstance 1-localcopy
Running productioninstance 1-localcopyRunning productioninstance 1-localcopy
Running productioninstance 1-localcopyCloudBees
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018AgileNetwork
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Chris Simmonds
 
FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub Black Duck by Synopsys
 
Javaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsJavaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsAndy Pemberton
 
DockerCon EU 2015: Official Repos and Project Nautilus
DockerCon EU 2015: Official Repos and Project NautilusDockerCon EU 2015: Official Repos and Project Nautilus
DockerCon EU 2015: Official Repos and Project NautilusDocker, Inc.
 
Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...
Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...
Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...Oleg Nenashev
 
GitHub Gone Wrong - Lessons learned from organic open source
GitHub Gone Wrong - Lessons learned from organic open sourceGitHub Gone Wrong - Lessons learned from organic open source
GitHub Gone Wrong - Lessons learned from organic open sourceAll Things Open
 
Untangling DevOps - A high-level overview and how we got here
Untangling DevOps -  A high-level overview and how we got hereUntangling DevOps -  A high-level overview and how we got here
Untangling DevOps - A high-level overview and how we got hereBarton George
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Being a Moby maintainer
Being a Moby maintainerBeing a Moby maintainer
Being a Moby maintainerAkihiro Suda
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Chris Simmonds
 

Ähnlich wie Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees (20)

Opening opensource : The Jenkins Way
Opening opensource : The Jenkins WayOpening opensource : The Jenkins Way
Opening opensource : The Jenkins Way
 
How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
 
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
 
Creating a Developer Community
Creating a Developer CommunityCreating a Developer Community
Creating a Developer Community
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
 
Running productioninstance 1-localcopy
Running productioninstance 1-localcopyRunning productioninstance 1-localcopy
Running productioninstance 1-localcopy
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
 
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
 
Ma forge++ : @Cloud
Ma forge++ : @CloudMa forge++ : @Cloud
Ma forge++ : @Cloud
 
FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub FLIGHT Amsterdam Presentation - From Protex to Hub
FLIGHT Amsterdam Presentation - From Protex to Hub
 
Javaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsJavaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with Jenkins
 
DockerCon EU 2015: Official Repos and Project Nautilus
DockerCon EU 2015: Official Repos and Project NautilusDockerCon EU 2015: Official Repos and Project Nautilus
DockerCon EU 2015: Official Repos and Project Nautilus
 
Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...
Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...
Belarus Jenkins Meetup - Managing security in Jenkins with configuration-as-c...
 
GitHub Gone Wrong - Lessons learned from organic open source
GitHub Gone Wrong - Lessons learned from organic open sourceGitHub Gone Wrong - Lessons learned from organic open source
GitHub Gone Wrong - Lessons learned from organic open source
 
Yocto Project - OSCON 7-17-2012
Yocto Project - OSCON 7-17-2012Yocto Project - OSCON 7-17-2012
Yocto Project - OSCON 7-17-2012
 
Untangling DevOps - A high-level overview and how we got here
Untangling DevOps -  A high-level overview and how we got hereUntangling DevOps -  A high-level overview and how we got here
Untangling DevOps - A high-level overview and how we got here
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Being a Moby maintainer
Being a Moby maintainerBeing a Moby maintainer
Being a Moby maintainer
 
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
 

Mehr von Paris Open Source Summit

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...Paris Open Source Summit
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...Paris Open Source Summit
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...Paris Open Source Summit
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, ArduinoParis Open Source Summit
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...Paris Open Source Summit
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...Paris Open Source Summit
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, ZabbixParis Open Source Summit
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, InriaParis Open Source Summit
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...Paris Open Source Summit
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...Paris Open Source Summit
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...Paris Open Source Summit
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...Paris Open Source Summit
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...Paris Open Source Summit
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...Paris Open Source Summit
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...Paris Open Source Summit
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...Paris Open Source Summit
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données Paris Open Source Summit
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...Paris Open Source Summit
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...Paris Open Source Summit
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...Paris Open Source Summit
 

Mehr von Paris Open Source Summit (20)

#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
 
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
 
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
 
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
 
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
 
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
 
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
 
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
 
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches  ...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
 
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
 
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
 
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
 
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
 
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
 
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
 
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données #OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Table ronde : souveraineté des données
 
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
 
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
 
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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 productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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 WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Kürzlich hochgeladen (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees

  • 1. Opening Opensource the Jenkins Way BreizhCamp 17 juin 2011 ©2011 Cloud Bees, Inc. All Rights Reserved
  • 2. Nicolas De loof •  Java-Boy •  DevOps at •  (ex-)Committer Maven •  JUG-Leader ©2011 CloudBees, Inc. All Rights Reserved 2
  • 3. ©2011 CloudBees, Inc. All Rights Reserved
  • 4. •  de facto continuous integration Server in Java ecosystem (non exclusive) •  Basis for Software Factory automation o Q&A Code inspection o Release management o Continuous deployment o Business Intelligence … ©2011 CloudBees, Inc. All Rights Reserved 4
  • 5. Hudson / Jenkins : the fork Jenkins   Here  we  are   Jenkins  defines  it’s  own  process   Hudson   moved  to  GitHub  and  proposed  to  Eclipse  FoundaKon   Sonatype  join  Oracle  Hudson   Vote  to  rename  the  project  and  move  to  GitHub   Oracle  uses  trademark  as  a  weapon   Issues  with  java.net  infrastructure   Oracle  register  «  Hudson  »  trademark   Oracle  aquire  SUN   Hudson  is  adopted  world  wide   KK  create  Hudson  as  a  Hobby   ©2011 CloudBees, Inc. All Rights Reserved 5
  • 6. User choosed Jenkins •  13 000 downloads / week •  1 500 member on jenkins-users •  4 000 followers @jenkinsci ©2011 CloudBees, Inc. All Rights Reserved 6
  • 7. … as Developers did •  900 members on jenkins-dev •  48 active contributors, 94 publicized •  170 Pull-requests from occasional contributors •  11,3 changes per release (6,7 before the fork) ©2011 CloudBees, Inc. All Rights Reserved 7
  • 8. ©2011 CloudBees, Inc. All Rights Reserved
  • 9. Standard OSS model « meritocratic » •  Voice committer •  Committer •  Contributor •  Supporting User •  User ©2011 CloudBees, Inc. All Rights Reserved 9
  • 10. How to become a Committer … 1.  Use the tool 2.  Contribute to user-forum 3.  Get familiar with the code 4.  Contribute to dev-forum 5.  Fix bugs and post patches 6.  Be nice with everybody 7.  Do some lobbying ©2011 CloudBees, Inc. All Rights Reserved 10
  • 11. In practice… •  Difficult to get into the code •  Difficult to get spare time •  Difficult to fix bug or add new features •  Laborious to create and maintain patches •  Frustrating to wait for approval How many talentuous guys do we loose here ? ©2011 CloudBees, Inc. All Rights Reserved 11
  • 12. My personal experience MoKvaKon   (#  of  contribuKons)   (never  occurred)   ©2011 CloudBees, Inc. All Rights Reserved 12
  • 13. The Jenkins-way •  Rule #1 : lower the contribution barrier ©2011 CloudBees, Inc. All Rights Reserved 13
  • 14. Want to contribute ? Ask  for  commit   ©2011 CloudBees, Inc. All Rights Reserved 14
  • 15. Self-censored contributors « With great power, comes great responsibility » ©2011 CloudBees, Inc. All Rights Reserved 15
  • 16. Hey, this is SCM role after all ! •  Discover a regression :  revert •  Test harness to the rescue (still much to do there) Possible if there is few changes between releases ! ©2011 CloudBees, Inc. All Rights Reserved 16
  • 17. The Jenkins-way •  Rule #2 : Release often (even more) ©2011 CloudBees, Inc. All Rights Reserved 17
  • 18. Jenkins releases •  One release per week •  Few changes between releases •  Easy to rollback when something is broken •  + « stable but older » branch (3 month) with Critical bug fixes only ©2011 CloudBees, Inc. All Rights Reserved 18
  • 19. ©2011 CloudBees, Inc. All Rights Reserved
  • 20. WTF ? •  Contributor may ask for code review •  Contribution may require few changes before beeing applied •  We don’t want to discourage contributors ©2011 CloudBees, Inc. All Rights Reserved 20
  • 21. Diff format (SVN patch) •  Diff format is definitly not a sexy format for humans > +@Deprecated > +public class Base64 > +{ > + public Base64() > + { > + super(); Does it really need to call Object.super(). Can we not leave it with the default constructor as Plexus' original has? > + } ©2011 CloudBees, Inc. All Rights Reserved 21
  • 22. GitHub pull request ©2011 CloudBees, Inc. All Rights Reserved 22
  • 23. The Jenkins-way •  Rule #3 : Tools matter, use the right ones patch   Pull  request  +   Commit  paTern   ©2011 CloudBees, Inc. All Rights Reserved 23
  • 24. Jenkins at GitHub •  Origin of the Hudson/Jenkins fork (java.net outage) •  200 forks on Jenkins GitHub repo ! •  170 pull requests ©2011 CloudBees, Inc. All Rights Reserved 24
  • 25. What about CLA ? ©2011 CloudBees, Inc. All Rights Reserved 25
  • 26. What is a CLA for ? •  Constrain contributors to transfer Intellectual Property •  … but not to ensure they have •  License is not a guarantee of freedom •  This is a lawyers artifact ©2011 CloudBees, Inc. All Rights Reserved 26
  • 27. The Jenkins-way •  Rule #4 : We are developers, not lawyers ©2011 CloudBees, Inc. All Rights Reserved 27
  • 28. ©2011 CloudBees, Inc. All Rights Reserved
  • 29. Modular design •  250 plugins ! (maven plugin is the only one in core) •  Even growing ecosystem •  Contributor can focus on some plugin that bring them value daily ©2011 CloudBees, Inc. All Rights Reserved 29
  • 30. Extensibility •  Extension point with runtime discovery •  Need to plug somewhere in Jenkins ?  add a new extension point •  Some idea for a new plugin ?  add for a repo on github/jenkins-ci ©2011 CloudBees, Inc. All Rights Reserved 30
  • 31. The Jenkins way •  Rule #5 : design for extensibility  Multiple technical solutions (incl. @Inject) ©2011 CloudBees, Inc. All Rights Reserved 31
  • 32. ©2011 CloudBees, Inc. All Rights Reserved
  • 33. Multiple discussion levels •  User forum •  Dev forum •  Private forum •  (+ lobbying) ©2011 CloudBees, Inc. All Rights Reserved 33
  • 34. WTF ? •  Need for private discussion when it could hurt someone   invitation for new Committers … but we don’t have to « filter » committers anymore ©2011 CloudBees, Inc. All Rights Reserved 34
  • 35. transparency •  All discussions are public –  On jenkins-dev –  On irc #jenkinsci •  Meeting bi-weekly on irc –  Logged by irc-bot for later availability http://meetings.jenkins-ci.org/jenkins ©2011 CloudBees, Inc. All Rights Reserved 35
  • 36. Multiple level of participation •  24/7 on #jenkins •  Active reader on mailing lists •  Join the bi-weekly #irc meeting •  Read the meeting minutes ©2011 CloudBees, Inc. All Rights Reserved 36
  • 37. The Jenkins way Rule #6 : Make things transparent ©2011 CloudBees, Inc. All Rights Reserved 37
  • 38. e-Mail avalanche syndrom •  Multiple levels of commitment   24/7 eMail addict   filter mails by subject   discuss major themes on bi-weekly meeting   read meeting notes ©2011 CloudBees, Inc. All Rights Reserved 38
  • 39. ©2011 CloudBees, Inc. All Rights Reserved
  • 40. Lead •  Many contributor involved •  Everyone can commit (with care) •  No need for long debates thanks to small release cycles and transparency •  But… project still needs some sort of lead ©2011 CloudBees, Inc. All Rights Reserved 40
  • 41. A Lead •  … but not a despot ! « Benevolent Dictator For Life »-syndrom ©2011 CloudBees, Inc. All Rights Reserved 41
  • 42. Lead must be … •  Highly active contributor •  Good knowledge of project history •  Good technical skills •  Visionary •  Newbie-compliant •  Not egocentric ©2011 CloudBees, Inc. All Rights Reserved 42
  • 43. Lead-commitee is safer •  Kohsuke Kawaguchi •  Andrew Bayer •  Dean Yu (all from distinct companies) And discuss in public ! ©2011 CloudBees, Inc. All Rights Reserved 43
  • 44. The Jenkins way •  Rule #7 : choose a good Lead model  focus first on building a community ©2011 CloudBees, Inc. All Rights Reserved 44
  • 45. Opensource (x)or Business « all from distinct companies » ? ©2011 CloudBees, Inc. All Rights Reserved 45
  • 46. ( ©2011 CloudBees, Inc. All Rights Reserved 46
  • 47. ©2011 CloudBees, Inc. All Rights Reserved
  • 48. CloudBees in 5 words •  Nectar : enhanced & supported Jenkins •  DEV@Cloud : hosted software factory •  RUN@Cloud : Java PaaS •  Public : hosted by Amazon •  Private : on your own virtualized infra ©2011 CloudBees, Inc. All Rights Reserved 48
  • 49. CloudBees vs OpenSource •  KK is a CloudBees employee … but CloudBees engaged to never interfere with Jenkins Lead committee •  DEV@Cloud is awesome thanks to active opensource ecosystem ! ©2011 CloudBees, Inc. All Rights Reserved 49
  • 50. CloudBees vs OpenSource •  CloudBees contributes bugfixes to OSS ©2011 CloudBees, Inc. All Rights Reserved 50
  • 51. Nectar value for entreprises •  Q&A, stabilised + supported •  Some entreprise dedicated plugins o Security (RBAC) o Virtualisation, auto-scaling, hypervisor integration o Jobs classification (folders) o Advanced Backup o … ©2011 CloudBees, Inc. All Rights Reserved 51
  • 52. DEV@Cloud Private Edition •  Jenkins cluster •  Multi-tenant masters •  Pool of slaves •  Automatic provisionning –  On phisical or virtual machines •  Centralised management (plugins, upgrades, default config…) ©2011 CloudBees, Inc. All Rights Reserved 52
  • 53. All thoses features are Plugins ! •  Thanks to flexible Jenkins model •  Easiest maintenance •  Easiest contributions to oss •  All Jenkins improvements are good for CloudBees •  All time focused on Jenkins dev&support is good for Jenkins ©2011 CloudBees, Inc. All Rights Reserved 53
  • 54. ) ©2011 CloudBees, Inc. All Rights Reserved 54
  • 55. ©2011 CloudBees, Inc. All Rights Reserved
  • 56. Does Jenkins model apply elsewhere ? •  I’m trying to for GWT-maven-plugin ©2011 CloudBees, Inc. All Rights Reserved 56
  • 57. Applying rules •  lower the contribution barrier just ask to join the team ! •  release often one release per month •  tools matter moved from codehaus svn to GitHub •  make it transparent everything happens on googlegroups •  choose a good lead-model myself + Olivier Lamy, may change … •  design for extensibility more investigation required here ©2011 CloudBees, Inc. All Rights Reserved 57
  • 58. Does it work ? •  Future will say… •  Allready some contributors to join : o  complaining about missing features, o  encouraged to contribute, o  added to team, o  they fixed issues by themself ! •  Salvador Diaz to analyse Pull Request •  Pierre-Yves Ricau committed 5 fixes •  .. an M2Eclipse configurator ©2011 CloudBees, Inc. All Rights Reserved 58
  • 59. Thank you Q&A ©2011 CloudBees, Inc. All Rights Reserved 59