SlideShare a Scribd company logo
Rafal Leszko (@RafalLeszko, rafal.leszko@gmail.com)
Continuous Delivery: Jenkins,
Docker and Spring Boot
Jez Humble
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery
The ability to get changes-features, configuration changes, bug
fixes, experiments - into production or into the hands of users
safely and quickly in a sustainable way
Continuous Delivery - Devoxx Morocco 2016
What is
Continuous
Delivery?
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
"Traditional" Delivery
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Release and operation
Continuous
Integration
Integration + QA
Acceptance Tests
Continuous Integration
https://github.com/Dynatrace/ufo
Continuous Delivery - Devoxx Morocco 2016
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Release and operation
Continuous
Integration
Integration + QA
Acceptance Tests
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Release and operation
Continuous
Integration
Integration + QA
Acceptance Tests
"last mile"
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Release and operation
Continuous
Integration
Integration + QA
Acceptance Tests
"last mile"
Automated Tests
Automated
Testing
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Release and operation
Continuous
Integration
Integration + QA
Acceptance Tests
"last mile"
Automated Tests
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Release and operation
Continuous
Integration
Integration + QA
Acceptance Tests
"last mile"
Automated Tests
Configuration
Management
+
Monitoring
Continuous Delivery Pipeline
Checkout
Compile
Unit Tests
Deploy to Staging
Acceptance Tests
Release
Smoke Test
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
dev machine
github server
jenkins server
push
pull
Checkout
Compile
Unit Tests
Deploy to Staging
Acceptance Tests
Release
Smoke Test
issues?
● Each server has to be configured
● Different environment in staging and production
● Different Java version for different applications
● Applications using the same ports
● Versioning
Continuous Delivery - Devoxx Morocco 2016
server
application
app.jar
server
application
app.jar
java -jar app.jar
server
application
app2.jar
java -jar app.jar
application
app.jar
Continuous Delivery - Devoxx Morocco 2016
treat your servers like cattle,
not pets
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Devoxx Morocco 2016
Dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
ADD build/libs/devoxx-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
Dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
ADD build/libs/devoxx-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
docker build -t <image_name> .
$ docker run --name <container_name> <image_name>
$ docker run --name <container_name> <image_name>
Docker registry
● registry for docker
images
Docker image name
<registry_address>/<image_name>
Docker image name
<registry_address>/<image_name>
docker push <image_name>
Docker image name
<registry_address>/<image_name>
docker push <image_name>
docker pull <image_name>
Port Mapping
$ docker run -p 8080:8080 --name <container_name>
<image_name>
External Docker Host
$ docker run -p 8080:8080 --name <container_name>
<image_name>
$ docker run -H 192.168.0.15:2375 -p 8080:8080 --name
<container_name> <image_name>
Example
$ docker run -H 192.168.0.15:2375 -p 8080:8080 -d
--name exchange-rate 192.168.0.20/exchange-rate:15
dev machine
github server
jenkins server
push
pull
staging machine
production machine
deploy
acceptance test
deploy
smoke test
docker registry
push
pull
pull
Legacy Projects
Manual Testing
Continuous Delivery - Devoxx Morocco 2016
Easy?
Questions?

More Related Content

PPTX
Continous integration and delivery for single page applications
Sunil Dalal
 
PDF
CI/CD and Asset Serving for Single Page Apps
Mike North
 
PPTX
IaC? VSTS to the rescue! Abbreviations explained
Jeroen Niesen
 
PDF
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Rafał Leszko
 
PDF
Practical Patterns for Developing a Cross-product Cross-version App
Atlassian
 
PDF
Serverless Delivery
Casey Lee
 
PDF
Code Reviews vs. Pull Requests
Atlassian
 
PDF
Hadoop Summit 2013 : Continuous Integration on top of hadoop
Wisely chen
 
Continous integration and delivery for single page applications
Sunil Dalal
 
CI/CD and Asset Serving for Single Page Apps
Mike North
 
IaC? VSTS to the rescue! Abbreviations explained
Jeroen Niesen
 
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Rafał Leszko
 
Practical Patterns for Developing a Cross-product Cross-version App
Atlassian
 
Serverless Delivery
Casey Lee
 
Code Reviews vs. Pull Requests
Atlassian
 
Hadoop Summit 2013 : Continuous Integration on top of hadoop
Wisely chen
 

What's hot (19)

PDF
Android Continuous Integration and Automation - Enrique Lopez Manas, Sixt
DroidConTLV
 
PDF
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
Alexander Akbashev
 
PDF
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
Atlassian
 
PDF
Declaring Server App Components in Pure Java
Atlassian
 
PDF
Building a Cerberus App Without Losing Our Heads: The Passage to a Cross-Plat...
Atlassian
 
PDF
Automated android testing using jenkins ci
sveinungkb
 
PDF
Integration Testing with Docker Containers with DockerCompose
Mike Holdsworth
 
PDF
Continuous Integration on Steroids
Alexander Akbashev
 
PDF
Building the Pipeline of My Dreams
Gene Gotimer
 
PPTX
Validating latest changes with XCI
Victor Morales
 
PPTX
OpenWhisk
Juan Pablo Genovese
 
PDF
Continuous delivery - tools and techniques
Mike McGarr
 
PDF
Zero to #Serverless in 60 seconds, anywhere
Alex Ellis
 
PPTX
How to contribute to an open source project and don’t die during the Code Rev...
Victor Morales
 
PPTX
ONAP on Vagrant for ONAPers
Victor Morales
 
PDF
Spinnaker at DevOpsDays Montreal
CloudOps2005
 
PDF
Continuously serving the developer community with Continuous Integration and...
Thoughtworks
 
PPTX
London Community Summit - Chef at SkyBet
Chef
 
PDF
DevOp with Me!
Nathen Harvey
 
Android Continuous Integration and Automation - Enrique Lopez Manas, Sixt
DroidConTLV
 
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
Alexander Akbashev
 
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
Atlassian
 
Declaring Server App Components in Pure Java
Atlassian
 
Building a Cerberus App Without Losing Our Heads: The Passage to a Cross-Plat...
Atlassian
 
Automated android testing using jenkins ci
sveinungkb
 
Integration Testing with Docker Containers with DockerCompose
Mike Holdsworth
 
Continuous Integration on Steroids
Alexander Akbashev
 
Building the Pipeline of My Dreams
Gene Gotimer
 
Validating latest changes with XCI
Victor Morales
 
Continuous delivery - tools and techniques
Mike McGarr
 
Zero to #Serverless in 60 seconds, anywhere
Alex Ellis
 
How to contribute to an open source project and don’t die during the Code Rev...
Victor Morales
 
ONAP on Vagrant for ONAPers
Victor Morales
 
Spinnaker at DevOpsDays Montreal
CloudOps2005
 
Continuously serving the developer community with Continuous Integration and...
Thoughtworks
 
London Community Summit - Chef at SkyBet
Chef
 
DevOp with Me!
Nathen Harvey
 
Ad

Viewers also liked (20)

PDF
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Rafał Leszko
 
PDF
Mutation Testing - Voxxed Days Bucharest 10.03.2017
Rafał Leszko
 
PPT
وانةى دووةم
Chia Barzinje
 
DOC
Variasi belajar jadi
August Ruris Narendra
 
PDF
Curso de sistemas de encendido de motocicleta
Instituto Español de la Mecánica y la Motocicleta
 
PPTX
Re_source
Saurabh Bose
 
DOCX
1 each and every
Chia Barzinje
 
PPTX
Alex amado
Alexander3218
 
PPTX
Why pdhpe
17264945
 
PPTX
Slide show for weebly
patmg
 
ODP
La nube Informática
Norma Murillo Verdezoto
 
PDF
Sectores economicos
oscarmauricioruizmolina
 
PDF
Calculo Diferencial
Juan Alejandro Alvarez Agudelo
 
PPTX
Carnival
DaniLike
 
PDF
Continuous Delivery - Voxxed Days Bucharest 2017
Rafał Leszko
 
PDF
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
 
PDF
Getting Started With SlideShare
SlideShare
 
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Rafał Leszko
 
Mutation Testing - Voxxed Days Bucharest 10.03.2017
Rafał Leszko
 
وانةى دووةم
Chia Barzinje
 
Variasi belajar jadi
August Ruris Narendra
 
Curso de sistemas de encendido de motocicleta
Instituto Español de la Mecánica y la Motocicleta
 
Re_source
Saurabh Bose
 
1 each and every
Chia Barzinje
 
Alex amado
Alexander3218
 
Why pdhpe
17264945
 
Slide show for weebly
patmg
 
La nube Informática
Norma Murillo Verdezoto
 
Sectores economicos
oscarmauricioruizmolina
 
Calculo Diferencial
Juan Alejandro Alvarez Agudelo
 
Carnival
DaniLike
 
Continuous Delivery - Voxxed Days Bucharest 2017
Rafał Leszko
 
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
 
Getting Started With SlideShare
SlideShare
 
Ad

Similar to Continuous Delivery - Devoxx Morocco 2016 (20)

PDF
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki
 
PDF
Karim Fanadka
CodeFest
 
PDF
Omaha (Google Update) server
Dmitry Lyfar
 
PDF
Continuous Delivery: How RightScale Releases Weekly
RightScale
 
ODP
Jenkins Pipelining and Gatling Integration
Knoldus Inc.
 
PPT
Java 6 [Mustang] - Features and Enchantments
Pavel Kaminsky
 
PPTX
Developing for the Atlassian Ecosystem
Alex Henderson
 
PPT
DevOps Pipeline for Liferay Application
Maruti Gollapudi
 
PDF
Dev ops journey basics and real life
🌍 Miguel Rodrigues
 
PDF
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
NETWAYS
 
PDF
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Ontico
 
PDF
Cloud CI Monitoring
Alexander Akbashev
 
PDF
LCA13: Android Infrastructure Automation Improvements
Linaro
 
PDF
Dev ops for cross platform mobile modeveast 12
Sanjeev Sharma
 
PDF
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
VMware Tanzu
 
PPTX
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
PPT
How to Build and Maintain Quality Drupal Sites with Automated Testing
Acquia
 
PPT
내꺼내꺼
misty915
 
PDF
Antons Kranga Building Agile Infrastructures
Antons Kranga
 
PPTX
The Usual Suspects - Red Hat Developer Day 2012-11-01
Jorge Hidalgo
 
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki
 
Karim Fanadka
CodeFest
 
Omaha (Google Update) server
Dmitry Lyfar
 
Continuous Delivery: How RightScale Releases Weekly
RightScale
 
Jenkins Pipelining and Gatling Integration
Knoldus Inc.
 
Java 6 [Mustang] - Features and Enchantments
Pavel Kaminsky
 
Developing for the Atlassian Ecosystem
Alex Henderson
 
DevOps Pipeline for Liferay Application
Maruti Gollapudi
 
Dev ops journey basics and real life
🌍 Miguel Rodrigues
 
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
NETWAYS
 
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Ontico
 
Cloud CI Monitoring
Alexander Akbashev
 
LCA13: Android Infrastructure Automation Improvements
Linaro
 
Dev ops for cross platform mobile modeveast 12
Sanjeev Sharma
 
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
VMware Tanzu
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
Acquia
 
내꺼내꺼
misty915
 
Antons Kranga Building Agile Infrastructures
Antons Kranga
 
The Usual Suspects - Red Hat Developer Day 2012-11-01
Jorge Hidalgo
 

More from Rafał Leszko (20)

PDF
Build Your Kubernetes Operator with the Right Tool!
Rafał Leszko
 
PDF
Mutation Testing with PIT
Rafał Leszko
 
PDF
Distributed Locking in Kubernetes
Rafał Leszko
 
PDF
Architectural patterns for high performance microservices in kubernetes
Rafał Leszko
 
PDF
Architectural caching patterns for kubernetes
Rafał Leszko
 
PDF
Architectural patterns for caching microservices
Rafał Leszko
 
PDF
Mutation testing with PIT
Rafał Leszko
 
PDF
[jLove 2020] Where is my cache architectural patterns for caching microservi...
Rafał Leszko
 
PDF
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
PDF
Architectural caching patterns for kubernetes
Rafał Leszko
 
PDF
Build your operator with the right tool
Rafał Leszko
 
PDF
5 levels of high availability from multi instance to hybrid cloud
Rafał Leszko
 
PDF
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
 
PDF
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
Rafał Leszko
 
PDF
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
PDF
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
PDF
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
 
PDF
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
Rafał Leszko
 
PDF
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
 
PDF
Stream Processing in the Cloud - Athens Kubernetes Meetup 16.07.2019
Rafał Leszko
 
Build Your Kubernetes Operator with the Right Tool!
Rafał Leszko
 
Mutation Testing with PIT
Rafał Leszko
 
Distributed Locking in Kubernetes
Rafał Leszko
 
Architectural patterns for high performance microservices in kubernetes
Rafał Leszko
 
Architectural caching patterns for kubernetes
Rafał Leszko
 
Architectural patterns for caching microservices
Rafał Leszko
 
Mutation testing with PIT
Rafał Leszko
 
[jLove 2020] Where is my cache architectural patterns for caching microservi...
Rafał Leszko
 
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
Architectural caching patterns for kubernetes
Rafał Leszko
 
Build your operator with the right tool
Rafał Leszko
 
5 levels of high availability from multi instance to hybrid cloud
Rafał Leszko
 
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
 
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
Rafał Leszko
 
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
Where is my cache architectural patterns for caching microservices by example
Rafał Leszko
 
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
 
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
Rafał Leszko
 
Where is my cache? Architectural patterns for caching microservices by example
Rafał Leszko
 
Stream Processing in the Cloud - Athens Kubernetes Meetup 16.07.2019
Rafał Leszko
 

Recently uploaded (20)

PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Doc9.....................................
SofiaCollazos
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
The Future of Artificial Intelligence (AI)
Mukul
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Software Development Methodologies in 2025
KodekX
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 

Continuous Delivery - Devoxx Morocco 2016