Download - Reduce DevOps Friction with Docker & Jenkins
![Page 1: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/1.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d ©
201
5 C
loud
Bee
s, In
c. A
ll R
ight
s R
eser
ved
Reduce DevOps Friction with Docker & Jenkins September 15th, 2015
Cast: CloudBees Solution Architects Andy Pemberton - @apemberton Kurt Madel - @kmadel
![Page 2: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/2.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
What’s with all the Dockers buzz?
![Page 3: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/3.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
vs.
![Page 4: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/4.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker Has Potential • An example: Software Configuration Management Space
![Page 5: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/5.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker Has Potential • An example: Software Configuration Management Space
![Page 6: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/6.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker Has Potential • An example: Software Configuration Management Space
![Page 7: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/7.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker Has Potential • An example: Software Configuration Management Space
![Page 8: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/8.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker Has Potential • An example: Software Configuration Management Space
![Page 9: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/9.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker Has Potential • An example: Software Configuration Management Space
![Page 10: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/10.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Docker has potential… to reduce friction • An example: Software Configuration Management Space Docker has the Potential to
Reduce DevOps Friction
![Page 11: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/11.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
How Can You Use Jenkins & Docker Together?
+
![Page 12: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/12.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
How Can You Use Jenkins & Docker Together?
1. Run Jenkins Masters & Slaves in Docker 2. Build, Test, & Deploy Docker Images from Jenkins
![Page 13: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/13.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
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/
![Page 14: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/14.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d ©
201
5 C
loud
Bee
s, In
c. A
ll R
ight
s R
eser
ved
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Let’s Look at Some Features
![Page 15: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/15.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
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
![Page 16: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/16.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
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
![Page 17: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/17.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
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') } }
![Page 18: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/18.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d
Jenkins, with Workflow, is the Proven CD Platform
Developer
Source Code
Control System
Compile/Build Code
Scan Tests Code Commit
Results Report
Build Commit Test Stage Deploy
Deploy Prod
Deploy Stage
Complex Delivery Pipelines
Delivery of App and Config
Jenkins Workflow
Prod Dev
![Page 19: Reduce DevOps Friction with Docker & Jenkins](https://reader031.vdocuments.us/reader031/viewer/2022030304/5876fe461a28abf3398b6c7f/html5/thumbnails/19.jpg)
© 2
015
Clo
udB
ees,
Inc.
All
Rig
hts
Res
erve
d ©
201
5 C
loud
Bee
s, In
c. A
ll R
ight
s R
eser
ved Thank You!
@apemberton + @kmadel