SlideShare une entreprise Scribd logo
1  sur  17
Lessons from
Platform Support
Adapting and Adopting
Lessons from
Platform Support
Adapting and AdoptingLightning Talk
© 2019 All Rights Reserved. 3
Lessons from Platform Support
Adapting and Adopting
• Java 11
• Windows
• Docker
© 2019 All Rights Reserved. 4
What is Jenkins?
• Most popular CI/CD tool in the world
• More than 250 000 active installations
• Open source
• Huge plugin ecosystem (1500+ plugins)
© 2019 All Rights Reserved. 5
Jenkins
Under the Hood
• Java
• XML
• Groovy
• Jetty
• …
© 2019 All Rights Reserved. 6
Begin the Race – Sep 2017 – May 2018
• Initial experiments
• Build projects that require Java 9+
• Jenkins won’t run with Java 9
• Pipeline won’t run
• Freestyle projects glitches
• Process management broken
• Maven project type not supported
© 2019 All Rights Reserved. 7
Worldwide Hackathon – June 2018
• 26 contributors
• Pipeline is working!
• Core and plugin patches submitted
• Development tools working
• Exploratory testing
© 2019 All Rights Reserved. 8
Java 11 Preview in Jenkins 2.155 – December 2018
• Weekly release with Java 11 support
• Most crucial plugins running and testing
• Build infrastructure tests Java 8 and Java 11, plugins and core
• On the road to long term support release!
© 2019 All Rights Reserved. 9
Java 11 support in Jenkins 2.164 LTS – March 2019
• Long term support release with Java 11 support
• Many more plugins running and testing
• Ready for production use
© 2019 All Rights Reserved. 10
Jenkins
One of the largest JVM-based projects
• Automation Framework (too flexible)
• 1500+ plugins
• 10+ years of compatibility
• 1500+ plugins
• Distributed remote execution
• Many, many dependencies
© 2019 All Rights Reserved. 11
Java 11 Dependency Updates
• Many, many dependencies
• ASM
• Jetty
• Groovy
• JBoss Marshalling
• JNR, JNA
© 2019 All Rights Reserved. 12
Java 9+ - No Longer Visible in Default Classloader
• XML – JAXB
• SQL
• Annotations - javax
• Activation – javax
• RMI – javax
• Tools – javax
• CORBA
• Several of these are widely used
• Alternatives explored with OpenJDK
© 2019 All Rights Reserved. 13
No more Java Web Start – Handling Windows Agents & more
• Agent startup from the web user interface
© 2019 All Rights Reserved. 14
Tool Upgrades for Java 11
• Latest maven releases
• Plugin and core parent POM’s
• Pipeline (Jenkinsfile) to build plugins
• Java 8 & Java 11
• Linux & Windows
• Jenkins Test Harness
• Acceptance Test Harness
• Plugin Compatibility Tester
• Replace findbugs with spotbugs
• Repair Javadoc for Java 11
• Update docker images for Java 11
© 2019 All Rights Reserved. 15
Windows Installer and Build Improvements
• Alex Earl (“slide”) efforts
• Remove 32 bit Java from installer
• Code signing on new installer
• Chocolatey package
© 2019 All Rights Reserved. 16
Platform skills?– Join the Platform SIG
• Platform SIG needs
• Java Developers
• Testers
• Writers
• Users – Windows, Linux, FreeBSD,
OpenBSD, zOS, zLinux, ARM, etc.
• https://jenkins.io/sigs/platform
Lessons from Jenkins Platform Support

Contenu connexe

Tendances

Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 

Tendances (20)

The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
 
Performance and Scalability Art of Isomorphic React Applications
Performance and Scalability Art of Isomorphic React ApplicationsPerformance and Scalability Art of Isomorphic React Applications
Performance and Scalability Art of Isomorphic React Applications
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Agile sites311training
Agile sites311trainingAgile sites311training
Agile sites311training
 
Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8
 
Build content centric apps with eclipse and nuxeo - ny java-sig november 2011
Build content centric apps with eclipse and nuxeo - ny java-sig november 2011Build content centric apps with eclipse and nuxeo - ny java-sig november 2011
Build content centric apps with eclipse and nuxeo - ny java-sig november 2011
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server Jenkins
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EE
 
VMware Private Clouds: Charting a path to success
VMware Private Clouds: Charting a path to successVMware Private Clouds: Charting a path to success
VMware Private Clouds: Charting a path to success
 
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
Containers and Developer Defined Data Centers - Evan Powell - Keynote in Bang...
 
Node and Micro-Services at IBM
Node and Micro-Services at IBMNode and Micro-Services at IBM
Node and Micro-Services at IBM
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Mini-Training Owin Katana
Mini-Training Owin KatanaMini-Training Owin Katana
Mini-Training Owin Katana
 
Meetup devops
Meetup devopsMeetup devops
Meetup devops
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Implementation of the Continuous Integration based on Atlassian Bamboo
 Implementation of the Continuous Integration based on Atlassian Bamboo Implementation of the Continuous Integration based on Atlassian Bamboo
Implementation of the Continuous Integration based on Atlassian Bamboo
 
India Serverless Summit 2017 - Sponsorship Deck
India Serverless Summit 2017 - Sponsorship DeckIndia Serverless Summit 2017 - Sponsorship Deck
India Serverless Summit 2017 - Sponsorship Deck
 
The Three Musketeers
The Three MusketeersThe Three Musketeers
The Three Musketeers
 

Similaire à Lessons from Jenkins Platform Support

SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014
mharkus
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
Binh Bui
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1
Shreedhar Ganapathy
 

Similaire à Lessons from Jenkins Platform Support (20)

SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014SAP Inside Track Singapore 2014
SAP Inside Track Singapore 2014
 
Travis CI
Travis CITravis CI
Travis CI
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Java in the cloud with Jelastic
Java in the cloud with JelasticJava in the cloud with Jelastic
Java in the cloud with Jelastic
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of java
 
Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1Development with JavaFX 9 in JDK 9.0.1
Development with JavaFX 9 in JDK 9.0.1
 
Developing Java Microservices Fast with Open Liberty
Developing Java Microservices Fast with Open LibertyDeveloping Java Microservices Fast with Open Liberty
Developing Java Microservices Fast with Open Liberty
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
Case study: JBoss Developer Studio, an IDE for Web, Mobile and Cloud applicat...
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
 
Serverless Java - Challenges and Triumphs
Serverless Java - Challenges and TriumphsServerless Java - Challenges and Triumphs
Serverless Java - Challenges and Triumphs
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
JavaFX on Mobile (by Johan Vos)
JavaFX on Mobile (by Johan Vos)JavaFX on Mobile (by Johan Vos)
JavaFX on Mobile (by Johan Vos)
 
Ausoug glassfish perth
Ausoug glassfish perthAusoug glassfish perth
Ausoug glassfish perth
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Swagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlierSwagger - Making REST APIs friendlier
Swagger - Making REST APIs friendlier
 
Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009Glassfish Overview 29 Oktober 2009
Glassfish Overview 29 Oktober 2009
 
Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1 Java EE 6 Clustering with Glassfish 3.1
Java EE 6 Clustering with Glassfish 3.1
 
Starting from scratch in 2017
Starting from scratch in 2017Starting from scratch in 2017
Starting from scratch in 2017
 

Plus de Mark Waite

Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Mark Waite
 

Plus de Mark Waite (9)

Training as Code - Applying CI/CD to training
Training as Code - Applying CI/CD to trainingTraining as Code - Applying CI/CD to training
Training as Code - Applying CI/CD to training
 
Docker and Jenkins [as code]
Docker and Jenkins [as code]Docker and Jenkins [as code]
Docker and Jenkins [as code]
 
Thinking about Jenkins Security
Thinking about Jenkins SecurityThinking about Jenkins Security
Thinking about Jenkins Security
 
Git for jenkins faster and better
Git for jenkins   faster and betterGit for jenkins   faster and better
Git for jenkins faster and better
 
Docker and Jenkins Pipeline
Docker and Jenkins PipelineDocker and Jenkins Pipeline
Docker and Jenkins Pipeline
 
To TDD or not to TDD - that is the question
To TDD or not to TDD - that is the questionTo TDD or not to TDD - that is the question
To TDD or not to TDD - that is the question
 
Git in-the-large
Git in-the-largeGit in-the-large
Git in-the-large
 
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Jenkins For One
Jenkins For OneJenkins For One
Jenkins For One
 

Dernier

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Dernier (20)

architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
^Clinic ^%[+27788225528*Abortion Pills For Sale In harare
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
What is a Recruitment Management Software?
What is a Recruitment Management Software?What is a Recruitment Management Software?
What is a Recruitment Management Software?
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 

Lessons from Jenkins Platform Support

  • 2. Lessons from Platform Support Adapting and AdoptingLightning Talk
  • 3. © 2019 All Rights Reserved. 3 Lessons from Platform Support Adapting and Adopting • Java 11 • Windows • Docker
  • 4. © 2019 All Rights Reserved. 4 What is Jenkins? • Most popular CI/CD tool in the world • More than 250 000 active installations • Open source • Huge plugin ecosystem (1500+ plugins)
  • 5. © 2019 All Rights Reserved. 5 Jenkins Under the Hood • Java • XML • Groovy • Jetty • …
  • 6. © 2019 All Rights Reserved. 6 Begin the Race – Sep 2017 – May 2018 • Initial experiments • Build projects that require Java 9+ • Jenkins won’t run with Java 9 • Pipeline won’t run • Freestyle projects glitches • Process management broken • Maven project type not supported
  • 7. © 2019 All Rights Reserved. 7 Worldwide Hackathon – June 2018 • 26 contributors • Pipeline is working! • Core and plugin patches submitted • Development tools working • Exploratory testing
  • 8. © 2019 All Rights Reserved. 8 Java 11 Preview in Jenkins 2.155 – December 2018 • Weekly release with Java 11 support • Most crucial plugins running and testing • Build infrastructure tests Java 8 and Java 11, plugins and core • On the road to long term support release!
  • 9. © 2019 All Rights Reserved. 9 Java 11 support in Jenkins 2.164 LTS – March 2019 • Long term support release with Java 11 support • Many more plugins running and testing • Ready for production use
  • 10. © 2019 All Rights Reserved. 10 Jenkins One of the largest JVM-based projects • Automation Framework (too flexible) • 1500+ plugins • 10+ years of compatibility • 1500+ plugins • Distributed remote execution • Many, many dependencies
  • 11. © 2019 All Rights Reserved. 11 Java 11 Dependency Updates • Many, many dependencies • ASM • Jetty • Groovy • JBoss Marshalling • JNR, JNA
  • 12. © 2019 All Rights Reserved. 12 Java 9+ - No Longer Visible in Default Classloader • XML – JAXB • SQL • Annotations - javax • Activation – javax • RMI – javax • Tools – javax • CORBA • Several of these are widely used • Alternatives explored with OpenJDK
  • 13. © 2019 All Rights Reserved. 13 No more Java Web Start – Handling Windows Agents & more • Agent startup from the web user interface
  • 14. © 2019 All Rights Reserved. 14 Tool Upgrades for Java 11 • Latest maven releases • Plugin and core parent POM’s • Pipeline (Jenkinsfile) to build plugins • Java 8 & Java 11 • Linux & Windows • Jenkins Test Harness • Acceptance Test Harness • Plugin Compatibility Tester • Replace findbugs with spotbugs • Repair Javadoc for Java 11 • Update docker images for Java 11
  • 15. © 2019 All Rights Reserved. 15 Windows Installer and Build Improvements • Alex Earl (“slide”) efforts • Remove 32 bit Java from installer • Code signing on new installer • Chocolatey package
  • 16. © 2019 All Rights Reserved. 16 Platform skills?– Join the Platform SIG • Platform SIG needs • Java Developers • Testers • Writers • Users – Windows, Linux, FreeBSD, OpenBSD, zOS, zLinux, ARM, etc. • https://jenkins.io/sigs/platform