SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Jenkins
What’s Jenkins? ©2010 CloudBees, Inc. All Rights Reserved
What’s Jenkins? Jenkins is a “continuous integration” server It looks for changes and builds your project It publishes the result It keeps track of how your project is used elsewhere It brings transparency to projects 3
What’s Jenkins? Community-driven open-source project http://jenkins-ci.org/ Used to be called Hudson Get going with “java -jar jenkins.war” Extensible architecture Lots of community developed plugins Public plugins as well as in-house plugins Very active 7 years old, ~400 releases to date 300+ plugins, 250+ committers 4
Used Everywhere 5 5
What does Jenkins do? Notice changes and checking out Polling, post-commit hooks ClearCase, Perforce, Git, Mercurial, 
 Runs builds and tests Lots of build/reporting tools integrations 6
What does Jenkins do? Whatever you can script can be run in Jenkins It needs to be non-interactive Very flexible and can work with any build/test tools/frameworks But it is not by itself a build/test framework 7
Non-Java Suport Jenkins is used to build non-Java projects Ruby, Python, PHP, C++, .NET, 
 Rapidly expanding as many of those languages do not have viable CI server Various tool/report integrations done by community 8
Demo ©2010 CloudBees, Inc. All Rights Reserved
Why do I care? Life before Jenkins RE nightly build breaks. It blocks SQE Dev rebuilds before commit to avoid this People waste time Life after Jenkins Dev just commits it right away Dev moves on to work on another thing Jenkins will tell you in 5 mins if a build broke 10
Why do I care? Life before Jenkins Dev makes a change Monday AM SQE nightly finds a bug Monday night Dev fixes it Tuesday Lot of wasted time Life after Jenkins Dev makes a change Monday AM Jenkins finds a regression 30 mins later Dev can fix it before lunch 11
Why do I care? Life before Jenkins SQE test runs every night, results sent out in e-mail After the enthusiasm of the 1st week is gone, nobody looks at them anymore Regressions go unnoticed until it’s too late Life after Jenkins Tests run Jenkins after every commit E-mail sent out only when tests start failing So it manages to keep people’s attention 12
Got the idea? Automation Reduce turn-around time Make things transparent Remove people from the loop Save people’s time Push jobs to servers, keep workstations idle for you 13
Advanced Integration Techniques ©2010 CloudBees, Inc. All Rights Reserved
Doing Distributed Builds 15 Photo by skreuzer
Why? You need to use multiple computers because
 You need different environments You need isolation You have non-trivial work loads There’s only so much you can do with 1 computer
Lots of computers = tedious Pains grow as your build farm grows Software installation problem Node failure problem Remote maintenance problem 
 What does Jenkins do to help you with these?
Installing new slaves For first 20 or so slaves, we did it manually Insert CD, click, type, click, type, click, 
 But that doesn’t scale Then we automated Available as “Jenkins PXE Plugin”
Automated System Installations ,[object Object]
ISO images of OSYour corporate IT guy & his DHCP server Slaves Power on, hit F12 PC boots from network (PXE)
Automated System Installations ,[object Object]
ISO images of OSYour corporate IT guy & his DHCP server Slaves Power on, hit F12 PC boots from network (PXE) Choose OS from menu Installs non-interactively
Automated System Installations Supports OpenSolaris, Ubuntu, CentOS, Fedora Trivial with most Linux Cooperate with Windows, too Quite useful outside Jenkins, too No more broken CD drives No more CD-Rs
Master Serves HTTP requests Stores all important info Slaves 170KB single jar Assumed to be unreliable Scale to at least 100 Distributed builds with Jenkins
Building on slaves Slave agent is a little Java program Runs locally on the machine that it controls Access files, fork processes, etc., on behalf of master Communication with master Needs a bi-di byte stream But very flexible in how this gets set up No shared file system, no network topology constraints, etc
How master and slaves start talking For Unix slaves, via SSH Only need SSHD on slaves We even install Java for you We just need a host name
How master and slaves start talking For Windows, DCOM We just need admin user name and password No manual intervention Works even from Unix masters
How master and slaves start talking Via Java Web Start When master cannot see slaves A separate socket connection is made
Automating JNLP launch Once started, can be installed as Windows service
Automating JNLP launch Emulate the JNLP client headlessly $ java -jar slave.jar -jnlpUrl URL
Automated Tool Installations JDK from http://java.sun.com/ It automatically chooses the right bundle
Automated Tool Installations Ant and Maven from Apache General purpose implementations Grab an archive from some URL and extract Run arbitrary shell script Extensible
Labels Tags that group slaves together Name: alpha Label: windows 32bit Name: bravo Label: linux 32bit Name: bravo Label: linux 64bit
Labels Name: alpha Label: windows 32bit Name: bravo Label: linux 32bit This job needs to run on “linux” Name: bravo Label: linux 64bit
Labels Name: alpha Label: windows 32bit Name: bravo Label: linux 32bit This job needs to run on “linux && 32bit” Name: bravo Label: linux 64bit
More Label Benefits Labels can be anything Geographic locations Availability of proprietary software installed Better resource utilization Jenkins have maximum freedom Resilient to node addition/removal Treat servers like livestocks, not like pets
Making builds sticky We want jobs to be mostly on the same slave Faster check out Consistent results Minimizes disk consumption But do it softly Jenkins uses consistent hash to achieve this More schedule controls become possible: Use faster machines more frequently Slowly ramp up newly installed slaves * http://en.wikipedia.org/wiki/Consistent_hashing
Forecasting failures Jenkins monitors key health metrics of slaves Low disk space, insufficient swap Clock out of sync Extensible Slaves put offline automatically Catch problems before it breaks builds 36
Clean up mess after builds Kill run-away processes Daemons, background processes left by your build Works on Windows, Linux, Mac, and Solaris
Cloud support Slaves can come and go Current/future workload and queue are all monitored continuously We can let Jenkins provision slaves on cloud on-the-fly
Jenkins EC2 plugin Automatically provision slaves on EC2 on demand Pick the right AMI depending on demand Start slave agent Shut down unused instances * http://code.google.com/p/typica/
Integration with VMWare Similar mechanism exists with VMWare Create a pool of virtual machines upfront Jenkins powers them up/down based on load Optionally revert to snapshot at the end Achieves benefits similar to EC2 without going public Nectar Feature
Matrix Project Photo: http://www.flickr.com/photos/amarilloposters/4380080793/ 41
Motivation You often do the same thing with slight variations Compile C++ code for different platforms Test with different browsers Or more generally, think of it as for (x in [a,b,c]) {   for (y in [d,e,f]) {     
 doSomethingWith(x,y,z,..);     
   } }
Model Define axes One axis ≈ one for loop Choose from pre-defined types of Axis Slave axis: pick slaves by their names or their labels e.g., linux, solaris, and windows Generic axis: arbitrary values exposed as environment variables
Matrix Project Gimmicks Filtering Otherwise combinations increase exponentially Not all combinations make sense Use boolean expression to trim down the size Or tell Jenkins to cut the workload to N% Jenkins will thin out the combinations by itself (label==“windows”).implies(browser==“iexplore”) &&(label==“mac”).implies(browser==“safari”)
Demo
Build Promotion
Progressive Exposure AKA Build pipeline Once built, bits go through progressively more expensive “certification” Think of tests, deployment to QA, staging, etc. Some builds fail in the middle, others go through
Then it gets more complex Each stage can be several parallel jobs Needs to be retryable You can’t afford to execute every pipeline until it fails
Hence “build promotion” Configuration “Foo gets promoted if FooTest passes” “When Foo gets promoted, do X, Y, and Z” Sequence of events Foo #N successfully completes FooTest #M executes on Foo #N FooTest #M successfully completes Foo #N gets promoted X, Y, and Z happens on Foo #N
More on build promotion Promotion condition can be more complex If FooTest, BarTest, and ZotTest all passes If PHB manually approves If upstream project gets promoted Extensible Promotion actions can be anything Copy files, execute scripts, trigger jobs, 

More on build promotion Multiple different promotion levels Foo #5 FooIntTest #9 FooIntTest #10 FooTest #10 BarTest #16 Deploy #19
Promotion benefits No rebuilding of binaries Asynchronous and naturally throttled Audit Trail

Weitere Àhnliche Inhalte

Was ist angesagt?

Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins OverviewAhmed M. Gomaa
 
Best Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical JenkinsBest Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical Jenkinsmrooney7828
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsMandi Walls
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java worldAshok Kumar
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentationJonathan Holloway
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CloudBees
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkinsCloudBees
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and TellE. Camden Fisher
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Dockertoffermann
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkinsVinay H G
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To JenkinsKnoldus Inc.
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin MĂĄlek
 

Was ist angesagt? (20)

Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
 
Best Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical JenkinsBest Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical Jenkins
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 

Andere mochten auch

Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Patrick McDonnell
 
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)dev2ops
 
Scaling(?) at Wealthfront
Scaling(?) at WealthfrontScaling(?) at Wealthfront
Scaling(?) at Wealthfrontarosien
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformationdev2ops
 
CI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsCI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsAri LiVigni
 
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShift
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShiftUltimate DevOps - Jenkins Enterprise & Red Hat OpenShift
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShiftAndy Pemberton
 
Private guitar teacher los angeles
Private guitar teacher los angelesPrivate guitar teacher los angeles
Private guitar teacher los angelesZOTZinMusic
 
Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)
Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)
Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)Lever Inc.
 
MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015
MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015
MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015MidiMobilitĂ©s
 
How to Manage Your Social Media like a Boss
How to Manage Your Social Media like a BossHow to Manage Your Social Media like a Boss
How to Manage Your Social Media like a BossErica McGillivray
 
Online Video In China Is Big!
Online Video In China Is Big!Online Video In China Is Big!
Online Video In China Is Big!Richard Matsumoto
 
Momentsinlife
MomentsinlifeMomentsinlife
Momentsinlifepishgo
 
ChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșż
ChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșżChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșż
ChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșżNguyễn Ngọc Phan Văn
 

Andere mochten auch (17)

Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
 
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
You Can't Change Culture, But You Can Change Behavior (DevOpsDays Rome 2012)
 
Scaling(?) at Wealthfront
Scaling(?) at WealthfrontScaling(?) at Wealthfront
Scaling(?) at Wealthfront
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformation
 
CI/CD with Openshift and Jenkins
CI/CD with Openshift and JenkinsCI/CD with Openshift and Jenkins
CI/CD with Openshift and Jenkins
 
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShift
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShiftUltimate DevOps - Jenkins Enterprise & Red Hat OpenShift
Ultimate DevOps - Jenkins Enterprise & Red Hat OpenShift
 
Commodity tips
Commodity tipsCommodity tips
Commodity tips
 
Private guitar teacher los angeles
Private guitar teacher los angelesPrivate guitar teacher los angeles
Private guitar teacher los angeles
 
Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)
Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)
Hiring for Scale; 13 Hacks in 30 Minutes (Startup Grind Europe presentation)
 
MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015
MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015
MidiMobilitĂ©s ActualitĂ©s #18 – Avril 2015
 
How to Manage Your Social Media like a Boss
How to Manage Your Social Media like a BossHow to Manage Your Social Media like a Boss
How to Manage Your Social Media like a Boss
 
ĐŒĐžŃ€Ń„ 8 1880 ocr
ĐŒĐžŃ€Ń„ 8 1880 ocrĐŒĐžŃ€Ń„ 8 1880 ocr
ĐŒĐžŃ€Ń„ 8 1880 ocr
 
Bibat museoan
Bibat museoan Bibat museoan
Bibat museoan
 
Online Video In China Is Big!
Online Video In China Is Big!Online Video In China Is Big!
Online Video In China Is Big!
 
Momentsinlife
MomentsinlifeMomentsinlife
Momentsinlife
 
ChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșż
ChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșżChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșż
ChÆ°ÆĄng 2 phÆ°ÆĄng tiện thanh toĂĄn quốc táșż
 

Ähnlich wie Jenkins talk at Silicon valley DevOps meetup

Jenkins CI
Jenkins CIJenkins CI
Jenkins CIhaochenglee
 
Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02Praveen Pamula
 
Learn About Continuous Integration With Hudson Directly From the Source
Learn About Continuous Integration With Hudson Directly From the SourceLearn About Continuous Integration With Hudson Directly From the Source
Learn About Continuous Integration With Hudson Directly From the SourceMarakana Inc.
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecturejoaquincasares
 
Hudson@java one2010
Hudson@java one2010Hudson@java one2010
Hudson@java one2010InfraDNA
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 
Continuous integration and deployment with docker
Continuous integration and deployment with dockerContinuous integration and deployment with docker
Continuous integration and deployment with dockerpebble {code}
 
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...Ambassador Labs
 
X page developer
X page developerX page developer
X page developerJakob Majkilde
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsNigel Charman
 
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014ChinaNetCloud
 
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testingmikereedell
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops DevopsKris Buytaert
 
Drupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - DeployDrupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - DeployJohn Smith
 
Intro to Docker and clustering with Rancher from scratch
Intro to Docker and clustering with Rancher from scratchIntro to Docker and clustering with Rancher from scratch
Intro to Docker and clustering with Rancher from scratchJohn Culviner
 
Jenkins Tutorial.pdf
Jenkins Tutorial.pdfJenkins Tutorial.pdf
Jenkins Tutorial.pdfdevtestervicky
 
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDENantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDEFlorent BENOIT
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarXebia Nederland BV
 
J+s
J+sJ+s
J+shappyuk
 
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017RafaƂ Leszko
 

Ähnlich wie Jenkins talk at Silicon valley DevOps meetup (20)

Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02
 
Learn About Continuous Integration With Hudson Directly From the Source
Learn About Continuous Integration With Hudson Directly From the SourceLearn About Continuous Integration With Hudson Directly From the Source
Learn About Continuous Integration With Hudson Directly From the Source
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecture
 
Hudson@java one2010
Hudson@java one2010Hudson@java one2010
Hudson@java one2010
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Continuous integration and deployment with docker
Continuous integration and deployment with dockerContinuous integration and deployment with docker
Continuous integration and deployment with docker
 
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
 
X page developer
X page developerX page developer
X page developer
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
 
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI TestingSelenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testing
 
Devops Devops Devops
Devops Devops DevopsDevops Devops Devops
Devops Devops Devops
 
Drupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - DeployDrupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - Deploy
 
Intro to Docker and clustering with Rancher from scratch
Intro to Docker and clustering with Rancher from scratchIntro to Docker and clustering with Rancher from scratch
Intro to Docker and clustering with Rancher from scratch
 
Jenkins Tutorial.pdf
Jenkins Tutorial.pdfJenkins Tutorial.pdf
Jenkins Tutorial.pdf
 
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDENantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
 
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
 
J+s
J+sJ+s
J+s
 
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
 

Mehr von CloudBees

JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerJUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerCloudBees
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyCloudBees
 
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)CloudBees
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...CloudBees
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyCloudBees
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceCloudBees
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...CloudBees
 
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?CloudBees
 
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...CloudBees
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsCloudBees
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...CloudBees
 
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...CloudBees
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersCloudBees
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"CloudBees
 
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...CloudBees
 
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UIJUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UICloudBees
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosCloudBees
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...CloudBees
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...CloudBees
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...CloudBees
 

Mehr von CloudBees (20)

JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerJUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with Docker
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and Groovy
 
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made Easy
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?
 
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
 
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
 
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UIJUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UI
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
 

KĂŒrzlich hochgeladen

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

KĂŒrzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Jenkins talk at Silicon valley DevOps meetup

  • 2. What’s Jenkins? ©2010 CloudBees, Inc. All Rights Reserved
  • 3. What’s Jenkins? Jenkins is a “continuous integration” server It looks for changes and builds your project It publishes the result It keeps track of how your project is used elsewhere It brings transparency to projects 3
  • 4. What’s Jenkins? Community-driven open-source project http://jenkins-ci.org/ Used to be called Hudson Get going with “java -jar jenkins.war” Extensible architecture Lots of community developed plugins Public plugins as well as in-house plugins Very active 7 years old, ~400 releases to date 300+ plugins, 250+ committers 4
  • 6. What does Jenkins do? Notice changes and checking out Polling, post-commit hooks ClearCase, Perforce, Git, Mercurial, 
 Runs builds and tests Lots of build/reporting tools integrations 6
  • 7. What does Jenkins do? Whatever you can script can be run in Jenkins It needs to be non-interactive Very flexible and can work with any build/test tools/frameworks But it is not by itself a build/test framework 7
  • 8. Non-Java Suport Jenkins is used to build non-Java projects Ruby, Python, PHP, C++, .NET, 
 Rapidly expanding as many of those languages do not have viable CI server Various tool/report integrations done by community 8
  • 9. Demo ©2010 CloudBees, Inc. All Rights Reserved
  • 10. Why do I care? Life before Jenkins RE nightly build breaks. It blocks SQE Dev rebuilds before commit to avoid this People waste time Life after Jenkins Dev just commits it right away Dev moves on to work on another thing Jenkins will tell you in 5 mins if a build broke 10
  • 11. Why do I care? Life before Jenkins Dev makes a change Monday AM SQE nightly finds a bug Monday night Dev fixes it Tuesday Lot of wasted time Life after Jenkins Dev makes a change Monday AM Jenkins finds a regression 30 mins later Dev can fix it before lunch 11
  • 12. Why do I care? Life before Jenkins SQE test runs every night, results sent out in e-mail After the enthusiasm of the 1st week is gone, nobody looks at them anymore Regressions go unnoticed until it’s too late Life after Jenkins Tests run Jenkins after every commit E-mail sent out only when tests start failing So it manages to keep people’s attention 12
  • 13. Got the idea? Automation Reduce turn-around time Make things transparent Remove people from the loop Save people’s time Push jobs to servers, keep workstations idle for you 13
  • 14. Advanced Integration Techniques ©2010 CloudBees, Inc. All Rights Reserved
  • 15. Doing Distributed Builds 15 Photo by skreuzer
  • 16. Why? You need to use multiple computers because
 You need different environments You need isolation You have non-trivial work loads There’s only so much you can do with 1 computer
  • 17. Lots of computers = tedious Pains grow as your build farm grows Software installation problem Node failure problem Remote maintenance problem 
 What does Jenkins do to help you with these?
  • 18. Installing new slaves For first 20 or so slaves, we did it manually Insert CD, click, type, click, type, click, 
 But that doesn’t scale Then we automated Available as “Jenkins PXE Plugin”
  • 19.
  • 20. ISO images of OSYour corporate IT guy & his DHCP server Slaves Power on, hit F12 PC boots from network (PXE)
  • 21.
  • 22. ISO images of OSYour corporate IT guy & his DHCP server Slaves Power on, hit F12 PC boots from network (PXE) Choose OS from menu Installs non-interactively
  • 23. Automated System Installations Supports OpenSolaris, Ubuntu, CentOS, Fedora Trivial with most Linux Cooperate with Windows, too Quite useful outside Jenkins, too No more broken CD drives No more CD-Rs
  • 24. Master Serves HTTP requests Stores all important info Slaves 170KB single jar Assumed to be unreliable Scale to at least 100 Distributed builds with Jenkins
  • 25. Building on slaves Slave agent is a little Java program Runs locally on the machine that it controls Access files, fork processes, etc., on behalf of master Communication with master Needs a bi-di byte stream But very flexible in how this gets set up No shared file system, no network topology constraints, etc
  • 26. How master and slaves start talking For Unix slaves, via SSH Only need SSHD on slaves We even install Java for you We just need a host name
  • 27. How master and slaves start talking For Windows, DCOM We just need admin user name and password No manual intervention Works even from Unix masters
  • 28. How master and slaves start talking Via Java Web Start When master cannot see slaves A separate socket connection is made
  • 29. Automating JNLP launch Once started, can be installed as Windows service
  • 30. Automating JNLP launch Emulate the JNLP client headlessly $ java -jar slave.jar -jnlpUrl URL
  • 31. Automated Tool Installations JDK from http://java.sun.com/ It automatically chooses the right bundle
  • 32. Automated Tool Installations Ant and Maven from Apache General purpose implementations Grab an archive from some URL and extract Run arbitrary shell script Extensible
  • 33. Labels Tags that group slaves together Name: alpha Label: windows 32bit Name: bravo Label: linux 32bit Name: bravo Label: linux 64bit
  • 34. Labels Name: alpha Label: windows 32bit Name: bravo Label: linux 32bit This job needs to run on “linux” Name: bravo Label: linux 64bit
  • 35. Labels Name: alpha Label: windows 32bit Name: bravo Label: linux 32bit This job needs to run on “linux && 32bit” Name: bravo Label: linux 64bit
  • 36. More Label Benefits Labels can be anything Geographic locations Availability of proprietary software installed Better resource utilization Jenkins have maximum freedom Resilient to node addition/removal Treat servers like livestocks, not like pets
  • 37. Making builds sticky We want jobs to be mostly on the same slave Faster check out Consistent results Minimizes disk consumption But do it softly Jenkins uses consistent hash to achieve this More schedule controls become possible: Use faster machines more frequently Slowly ramp up newly installed slaves * http://en.wikipedia.org/wiki/Consistent_hashing
  • 38. Forecasting failures Jenkins monitors key health metrics of slaves Low disk space, insufficient swap Clock out of sync Extensible Slaves put offline automatically Catch problems before it breaks builds 36
  • 39. Clean up mess after builds Kill run-away processes Daemons, background processes left by your build Works on Windows, Linux, Mac, and Solaris
  • 40. Cloud support Slaves can come and go Current/future workload and queue are all monitored continuously We can let Jenkins provision slaves on cloud on-the-fly
  • 41. Jenkins EC2 plugin Automatically provision slaves on EC2 on demand Pick the right AMI depending on demand Start slave agent Shut down unused instances * http://code.google.com/p/typica/
  • 42. Integration with VMWare Similar mechanism exists with VMWare Create a pool of virtual machines upfront Jenkins powers them up/down based on load Optionally revert to snapshot at the end Achieves benefits similar to EC2 without going public Nectar Feature
  • 43. Matrix Project Photo: http://www.flickr.com/photos/amarilloposters/4380080793/ 41
  • 44. Motivation You often do the same thing with slight variations Compile C++ code for different platforms Test with different browsers Or more generally, think of it as for (x in [a,b,c]) { for (y in [d,e,f]) { 
 doSomethingWith(x,y,z,..); 
 } }
  • 45. Model Define axes One axis ≈ one for loop Choose from pre-defined types of Axis Slave axis: pick slaves by their names or their labels e.g., linux, solaris, and windows Generic axis: arbitrary values exposed as environment variables
  • 46. Matrix Project Gimmicks Filtering Otherwise combinations increase exponentially Not all combinations make sense Use boolean expression to trim down the size Or tell Jenkins to cut the workload to N% Jenkins will thin out the combinations by itself (label==“windows”).implies(browser==“iexplore”) &&(label==“mac”).implies(browser==“safari”)
  • 47. Demo
  • 49. Progressive Exposure AKA Build pipeline Once built, bits go through progressively more expensive “certification” Think of tests, deployment to QA, staging, etc. Some builds fail in the middle, others go through
  • 50. Then it gets more complex Each stage can be several parallel jobs Needs to be retryable You can’t afford to execute every pipeline until it fails
  • 51. Hence “build promotion” Configuration “Foo gets promoted if FooTest passes” “When Foo gets promoted, do X, Y, and Z” Sequence of events Foo #N successfully completes FooTest #M executes on Foo #N FooTest #M successfully completes Foo #N gets promoted X, Y, and Z happens on Foo #N
  • 52. More on build promotion Promotion condition can be more complex If FooTest, BarTest, and ZotTest all passes If PHB manually approves If upstream project gets promoted Extensible Promotion actions can be anything Copy files, execute scripts, trigger jobs, 

  • 53. More on build promotion Multiple different promotion levels Foo #5 FooIntTest #9 FooIntTest #10 FooTest #10 BarTest #16 Deploy #19
  • 54. Promotion benefits No rebuilding of binaries Asynchronous and naturally throttled Audit Trail
  • 55. Demo