SlideShare a Scribd company logo
1 of 19
Download to read offline
©2015CloudBees,Inc.AllRightsReserved©2015CloudBees,Inc.AllRightsReserved
Reduce DevOps Friction with
Docker & Jenkins
September 15th, 2015
Cast: CloudBees Solution Architects
Andy Pemberton - @apemberton
Kurt Madel - @kmadel
©2015CloudBees,Inc.AllRightsReserved
What’s with all the
Dockers buzz?
©2015CloudBees,Inc.AllRightsReserved
vs.
©2015CloudBees,Inc.AllRightsReserved
Docker Has Potential
•  An example: Software Configuration Management Space
©2015CloudBees,Inc.AllRightsReserved
Docker Has Potential
•  An example: Software Configuration Management Space
©2015CloudBees,Inc.AllRightsReserved
Docker Has Potential
•  An example: Software Configuration Management Space
©2015CloudBees,Inc.AllRightsReserved
Docker Has Potential
•  An example: Software Configuration Management Space
©2015CloudBees,Inc.AllRightsReserved
Docker Has Potential
•  An example: Software Configuration Management Space
©2015CloudBees,Inc.AllRightsReserved
Docker Has Potential
•  An example: Software Configuration Management Space
©2015CloudBees,Inc.AllRightsReserved
Docker has potential… to reduce friction
•  An example: Software Configuration Management Space
Docker has the Potential to
Reduce DevOps Friction
©2015CloudBees,Inc.AllRightsReserved
How Can You Use Jenkins & Docker Together?
+
©2015CloudBees,Inc.AllRightsReserved
How Can You Use Jenkins & Docker Together?
1. Run Jenkins Masters & Slaves in Docker 2. Build, Test, & Deploy Docker Images from Jenkins
©2015CloudBees,Inc.AllRightsReserved
Oh, by the way…
“First let me take a chance to familiarize you
with how we test Docker… We use Jenkins as
our CI mostly because we needed a lot of
flexibility and control.”
“Obviously everything in our infrastructure
runs in Docker, so that even goes for Jenkins.
We use the official image for our Jenkins
container.”
https://blog.jessfraz.com/post/dogfooding-docker-to-test-docker/
©2015CloudBees,Inc.AllRightsReserved©2015CloudBees,Inc.AllRightsReserved©2015CloudBees,Inc.AllRightsReserved
Let’s Look at Some Features
©2015CloudBees,Inc.AllRightsReserved
1. Run Jenkins Masters & Slaves in Docker
Docker (Cloud) – use Docker images as
standardized build environments to
improve isolation and elasticity
Docker Custom Build Environment –
specify customized build environments
as Docker containers
CloudBees Docker Shared Config –
manage Docker (or Swarm) host
configuration centrally in CloudBees
Jenkins Operations Center
©2015CloudBees,Inc.AllRightsReserved
2. Build, Test, & Deploy Docker Images from Jenkins
Build and Publish – build projects that
have a Dockerfile and push the resultant
tagged image to Docker Hub
Docker Traceability – identify which
build pushed a particular container that
and displays the build / image details in
Jenkins
Docker Hub Notification – trigger
downstream jobs when a tagged
container is pushed to Docker Hub
©2015CloudBees,Inc.AllRightsReserved
Best of All: Jenkins Workflow + Docker
stage 'Build Source'
node('docker') {
docker.image(‘maven:3.3.3-jdk-8') {
git 'https://github.com/cloudbees/mobile-deposit-api.git'
sh 'mvn clean package'
}
}
node('docker') {
docker.withServer('tcp://docker.beedemo.net:2376', 'docker-beedemo-creds'){
stage 'Build Docker Image'
def image = docker.build "cloudbees/mobile-deposit-api:${buildVersion}"
stage 'Publish Docker Image'
docker.withRegistry('https://registry.beedemo.net/', 'docker-registry-login') {
image.push()
}
stage 'Deploy Docker Image'
def container = image.run('--name mobile-deposit-api -p 8080:8080')
}
}
©2015CloudBees,Inc.AllRightsReserved
Jenkins, with Workflow, is the Proven CD Platform
Developer
Source
Code
Control
System
Compile
/BuildCode
Scan TestsCode
Commit
Results
Report
BuildCommit Test Stage Deploy
Deploy
Prod
Deploy
Stage
Complex Delivery Pipelines
Delivery of App and Config
Jenkins Workflow
ProdDev
©2015CloudBees,Inc.AllRightsReserved©2015CloudBees,Inc.AllRightsReserved
Thank You!
@apemberton + @kmadel

More Related Content

More from Andy Pemberton

Javaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsJavaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsAndy Pemberton
 
RJUG - REST API / JAX-RS Overview
RJUG - REST API / JAX-RS OverviewRJUG - REST API / JAX-RS Overview
RJUG - REST API / JAX-RS OverviewAndy Pemberton
 
SCEA - a pragmatic pursuit
SCEA - a pragmatic pursuitSCEA - a pragmatic pursuit
SCEA - a pragmatic pursuitAndy Pemberton
 
Web UI performance tuning
Web UI performance tuningWeb UI performance tuning
Web UI performance tuningAndy Pemberton
 
Drupal Project Lifecycle
Drupal Project LifecycleDrupal Project Lifecycle
Drupal Project LifecycleAndy Pemberton
 

More from Andy Pemberton (6)

Javaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with JenkinsJavaone 2014 - Git & Docker with Jenkins
Javaone 2014 - Git & Docker with Jenkins
 
RJUG - REST API / JAX-RS Overview
RJUG - REST API / JAX-RS OverviewRJUG - REST API / JAX-RS Overview
RJUG - REST API / JAX-RS Overview
 
W3C Geolocation
W3C GeolocationW3C Geolocation
W3C Geolocation
 
SCEA - a pragmatic pursuit
SCEA - a pragmatic pursuitSCEA - a pragmatic pursuit
SCEA - a pragmatic pursuit
 
Web UI performance tuning
Web UI performance tuningWeb UI performance tuning
Web UI performance tuning
 
Drupal Project Lifecycle
Drupal Project LifecycleDrupal Project Lifecycle
Drupal Project Lifecycle
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Reduce DevOps Friction with Docker & Jenkins