SlideShare a Scribd company logo
Rafal Leszko (@RafalLeszko, rafal.leszko@gmail.com)
Continuous Delivery: Jenkins,
Docker and Spring Boot
Jez Humble
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.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 - Voxxed Days Thessaloniki 21.10.2016
What is
Continuous
Delivery?
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.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 - Voxxed Days Thessaloniki 21.10.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 - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.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 - Voxxed Days Thessaloniki 21.10.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 - Voxxed Days Thessaloniki 21.10.2016
treat your servers like cattle,
not pets
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
ADD build/libs/exchange-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
Dockerfile:
FROM frolvlad/alpine-oraclejdk8:slim
ADD build/libs/exchange-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
Easy?

More Related Content

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

What's hot (19)

PDF
Android Continuous Integration and Automation - Enrique Lopez Manas, Sixt
PDF
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
PDF
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
PDF
Declaring Server App Components in Pure Java
PDF
Building a Cerberus App Without Losing Our Heads: The Passage to a Cross-Plat...
PDF
Automated android testing using jenkins ci
PDF
Integration Testing with Docker Containers with DockerCompose
PDF
Continuous Integration on Steroids
PDF
Building the Pipeline of My Dreams
PPTX
Validating latest changes with XCI
PPTX
PDF
Zero to #Serverless in 60 seconds, anywhere
PPTX
How to contribute to an open source project and don’t die during the Code Rev...
PDF
Continuous delivery - tools and techniques
PPTX
ONAP on Vagrant for ONAPers
PDF
Spinnaker at DevOpsDays Montreal
PDF
Continuously serving the developer community with Continuous Integration and...
PPTX
London Community Summit - Chef at SkyBet
PDF
GitLab 라이선스별 특징 요약 - 인포그랩
Android Continuous Integration and Automation - Enrique Lopez Manas, Sixt
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
Declaring Server App Components in Pure Java
Building a Cerberus App Without Losing Our Heads: The Passage to a Cross-Plat...
Automated android testing using jenkins ci
Integration Testing with Docker Containers with DockerCompose
Continuous Integration on Steroids
Building the Pipeline of My Dreams
Validating latest changes with XCI
Zero to #Serverless in 60 seconds, anywhere
How to contribute to an open source project and don’t die during the Code Rev...
Continuous delivery - tools and techniques
ONAP on Vagrant for ONAPers
Spinnaker at DevOpsDays Montreal
Continuously serving the developer community with Continuous Integration and...
London Community Summit - Chef at SkyBet
GitLab 라이선스별 특징 요약 - 인포그랩
Ad

Viewers also liked (20)

PDF
Continuous Delivery - Devoxx Morocco 2016
PDF
Continuous Delivery - Voxxed Days Bucharest 2017
PDF
Mutation Testing - Voxxed Days Bucharest 10.03.2017
PDF
Curso de sistemas de encendido de motocicleta
PPTX
Slide show for weebly
DOCX
1 each and every
PPT
وانةى دووةم
PPTX
Alex amado
ODP
La nube Informática
PPTX
Re_source
DOC
Variasi belajar jadi
PPTX
Why pdhpe
PDF
Sectores economicos
PDF
Calculo Diferencial
PPTX
Carnival
PDF
How to Make Awesome SlideShares: Tips & Tricks
PDF
Getting Started With SlideShare
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Voxxed Days Bucharest 2017
Mutation Testing - Voxxed Days Bucharest 10.03.2017
Curso de sistemas de encendido de motocicleta
Slide show for weebly
1 each and every
وانةى دووةم
Alex amado
La nube Informática
Re_source
Variasi belajar jadi
Why pdhpe
Sectores economicos
Calculo Diferencial
Carnival
How to Make Awesome SlideShares: Tips & Tricks
Getting Started With SlideShare
Ad

Similar to Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016 (20)

PDF
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
PDF
Karim Fanadka
PDF
Continuous Delivery: How RightScale Releases Weekly
PPTX
CI Implementation with Kubernetes at LivePerson by Saar Demri
PDF
Omaha (Google Update) server
PPTX
Developing for the Atlassian Ecosystem
PPT
DevOps Pipeline for Liferay Application
PDF
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
PDF
LCA13: Android Infrastructure Automation Improvements
ODP
Jenkins Pipelining and Gatling Integration
PDF
Dev ops for cross platform mobile modeveast 12
PDF
Dev ops journey basics and real life
PPT
How to Build and Maintain Quality Drupal Sites with Automated Testing
PDF
Cloud CI Monitoring
PDF
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
PDF
AWS reinvent 2019 - Transforming to feature-driven development
PPT
Java 6 [Mustang] - Features and Enchantments
PDF
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
PDF
Microservice Teams - How the cloud changes the way we work
PPTX
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Karim Fanadka
Continuous Delivery: How RightScale Releases Weekly
CI Implementation with Kubernetes at LivePerson by Saar Demri
Omaha (Google Update) server
Developing for the Atlassian Ecosystem
DevOps Pipeline for Liferay Application
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
LCA13: Android Infrastructure Automation Improvements
Jenkins Pipelining and Gatling Integration
Dev ops for cross platform mobile modeveast 12
Dev ops journey basics and real life
How to Build and Maintain Quality Drupal Sites with Automated Testing
Cloud CI Monitoring
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
AWS reinvent 2019 - Transforming to feature-driven development
Java 6 [Mustang] - Features and Enchantments
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
Microservice Teams - How the cloud changes the way we work
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments

More from Rafał Leszko (20)

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

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
KodekX | Application Modernization Development
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
A Presentation on Artificial Intelligence
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
KodekX | Application Modernization Development
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
A Presentation on Artificial Intelligence
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf

Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016