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 Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
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 Bucharest 2017
What is Continuous
Delivery?
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
"Traditional" Delivery
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Continuous
Integration
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Continuous Integration
https://github.com/Dynatrace/ufo
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous
Integration
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
"last mile"
Continuous
Integration
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Automated Tests
"last mile"
Continuous
Integration
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Automated
Testing
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
Automated Tests
"last mile"
Continuous
Integration
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Configuration
Management
+
MonitoringAutomated Tests
"last mile"
Continuous
Integration
Customer
"Agile" team
Centralized QA IT Operations
Analysis + Design
Development
Testing + Showcase
Integration + QA
Release and operation
Acceptance Tests
Continuous Delivery Pipeline
Checkout
Compile
Unit Tests
Deploy to Staging
Acceptance Tests
Release
Smoke Test
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
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 Bucharest 2017
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 Bucharest 2017
treat your servers like cattle,
not pets
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
Continuous Delivery - Voxxed Days Bucharest 2017
Dockerfile:
FROM frolvlad/alpine­oraclejdk8:slim
ADD build/libs/vox­0.0.1­SNAPSHOT.jar app.jar
ENTRYPOINT ["java","­jar","app.jar"]
FROM frolvlad/alpine­oraclejdk8:slim
ADD build/libs/vox­0.0.1­SNAPSHOT.jar app.jar
ENTRYPOINT ["java","­jar","app.jar"]
docker build ­t <image_name> .
Dockerfile:
$ docker run ­­name <container_name> <image_name> 
$ docker run ­­name <container_name> <image_name> 
Docker registry
● registry for docker
images
<registry_address>/<image_name>
<registry_address>/<image_name>
docker push <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
Manual Testing
Legacy Projects
Continuous Delivery - Voxxed Days Bucharest 2017
Performance Tests
Blue-Green Deployment
Canary Release
Code coverage
Static code analysis
“continuous”
Feature Toggle
Continuous Delivery - Voxxed Days Bucharest 2017
Easy?
Questions?

More Related Content

PDF
Edge architecture ieee international conference on cloud engineering
Mikey Cohen - Hiring Amazing Engineers
 
PPTX
Scaling Push Messaging for Millions of Netflix Devices
Susheel Aroskar
 
PDF
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
C4Media
 
PPTX
Using an API Gateway for Microservices
NGINX, Inc.
 
PDF
API Gateway study
Rafael Gonzaga
 
PDF
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Daniel Oh
 
PDF
Microservice API Gateways with NGINX
Geoffrey Filippi
 
PDF
Kuberntes Ingress with Kong
Nebulaworks
 
Edge architecture ieee international conference on cloud engineering
Mikey Cohen - Hiring Amazing Engineers
 
Scaling Push Messaging for Millions of Netflix Devices
Susheel Aroskar
 
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
C4Media
 
Using an API Gateway for Microservices
NGINX, Inc.
 
API Gateway study
Rafael Gonzaga
 
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Daniel Oh
 
Microservice API Gateways with NGINX
Geoffrey Filippi
 
Kuberntes Ingress with Kong
Nebulaworks
 

What's hot (20)

PDF
Introduction to Kong API Gateway
Yohann Ciurlik
 
PDF
Kong API
Patrick Pierson
 
PDF
WTF Do We Need a Service Mesh?
Anton Weiss
 
PPTX
API Gateway: Nginx way
inovia
 
PDF
API Gateway report
Gleicon Moraes
 
PDF
Microservices & API Gateways
Kong Inc.
 
PDF
Manage your APIs and Microservices with an API Gateway
Thibault Charbonnier
 
PDF
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Codemotion
 
PDF
Ambassador Kubernetes-Native API Gateway
Ambassador Labs
 
PPTX
Gatekeeper: API gateway
ChengHui Weng
 
PPTX
Api gateway in microservices
Kunal Hire
 
PPTX
Microservice: starting point
inovia
 
PPTX
An Open-Source Platform to Connect, Manage, and Secure Microservices
DoiT International
 
PPTX
Scale your application to new heights with NGINX and AWS
NGINX, Inc.
 
PPTX
Comprehensive container based service monitoring with kubernetes and istio
Fred Moyer
 
PPTX
Scylla Summit 2018: Kong & Cassandra/Scylla for distributed APIs and Microser...
ScyllaDB
 
PDF
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
Natan Silnitsky
 
PPTX
NGINX Controller: Configuration, Management, and Troubleshooting at Scale
NGINX, Inc.
 
PDF
Mastering Microservices with Kong (CodeMotion 2019)
Maarten Mulders
 
PDF
apidays LIVE New York 2021 - Introduction to HATEOAS with Ketting by Evert Po...
apidays
 
Introduction to Kong API Gateway
Yohann Ciurlik
 
Kong API
Patrick Pierson
 
WTF Do We Need a Service Mesh?
Anton Weiss
 
API Gateway: Nginx way
inovia
 
API Gateway report
Gleicon Moraes
 
Microservices & API Gateways
Kong Inc.
 
Manage your APIs and Microservices with an API Gateway
Thibault Charbonnier
 
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Codemotion
 
Ambassador Kubernetes-Native API Gateway
Ambassador Labs
 
Gatekeeper: API gateway
ChengHui Weng
 
Api gateway in microservices
Kunal Hire
 
Microservice: starting point
inovia
 
An Open-Source Platform to Connect, Manage, and Secure Microservices
DoiT International
 
Scale your application to new heights with NGINX and AWS
NGINX, Inc.
 
Comprehensive container based service monitoring with kubernetes and istio
Fred Moyer
 
Scylla Summit 2018: Kong & Cassandra/Scylla for distributed APIs and Microser...
ScyllaDB
 
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
Natan Silnitsky
 
NGINX Controller: Configuration, Management, and Troubleshooting at Scale
NGINX, Inc.
 
Mastering Microservices with Kong (CodeMotion 2019)
Maarten Mulders
 
apidays LIVE New York 2021 - Introduction to HATEOAS with Ketting by Evert Po...
apidays
 
Ad

Viewers also liked (13)

PDF
The seven more deadly sins of microservices final
Haufe-Lexware GmbH & Co KG
 
PDF
Microservices deployment patterns
Abhishek Tiwari
 
PDF
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki
 
PDF
Building a Modern Microservices Architecture at Gilt: The Essentials
C4Media
 
PDF
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
C4Media
 
PPTX
Zero to Continuous Delivery on Google Cloud
James Heggs
 
PDF
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
Renaud Visage
 
PDF
Java Microservices with Netflix OSS & Spring
Conor Svensson
 
PDF
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Chris Richardson
 
PPTX
Deployment Automation with Microservices
Ganesh Ghag
 
PPTX
Data stream processing and micro service architecture
Vyacheslav Benedichuk
 
PDF
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
PPTX
Zuul @ Netflix SpringOne Platform
Mikey Cohen - Hiring Amazing Engineers
 
The seven more deadly sins of microservices final
Haufe-Lexware GmbH & Co KG
 
Microservices deployment patterns
Abhishek Tiwari
 
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Voxxed Days Thessaloniki
 
Building a Modern Microservices Architecture at Gilt: The Essentials
C4Media
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
C4Media
 
Zero to Continuous Delivery on Google Cloud
James Heggs
 
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
Renaud Visage
 
Java Microservices with Netflix OSS & Spring
Conor Svensson
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Chris Richardson
 
Deployment Automation with Microservices
Ganesh Ghag
 
Data stream processing and micro service architecture
Vyacheslav Benedichuk
 
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
Zuul @ Netflix SpringOne Platform
Mikey Cohen - Hiring Amazing Engineers
 
Ad

Similar to Continuous Delivery - Voxxed Days Bucharest 2017 (20)

PDF
Continuous Delivery - Devoxx Morocco 2016
Rafał Leszko
 
PDF
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Rafał Leszko
 
PDF
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Rafał Leszko
 
PDF
Continuous delivery
Alexandru Bolboaca
 
PDF
Introducing Continuous Delivery in the Enterprise
XebiaLabs
 
PDF
Continuous Delivery for Python Developers – PyCon Otto
Peter Bittner
 
PDF
Continuous delivery in Pipedrive
Tomas Rehor
 
PDF
Our continuous delivery journey
Suzie Prince
 
PDF
Jenkins Continuous Delivery
Jadson Santos
 
PDF
Continuous delivery @ hi q
Tomas Riha
 
PDF
Continous Delivery Toronto Presentation
XebiaLabs
 
PDF
Continuous Integration, Delivery and Deployment
Eero Laukkanen
 
PPTX
Crawl Walk and Run to Continuous Delivery
David Batten
 
PPTX
Into the cloud
Tomas Riha
 
PPTX
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce
 
PDF
Scaling continuous delivery @ GeeCon 2014
Tomas Riha
 
PDF
On The Road towards Continuous Delivery
MyToys Group IT
 
PPTX
Continuous Delivery Presentation
Mauricio Ferreyra
 
PDF
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Pietro Di Bello
 
PDF
Testing the continuous delivery process @dev opsdays ams 2013
Miel Donkers
 
Continuous Delivery - Devoxx Morocco 2016
Rafał Leszko
 
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Rafał Leszko
 
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Rafał Leszko
 
Continuous delivery
Alexandru Bolboaca
 
Introducing Continuous Delivery in the Enterprise
XebiaLabs
 
Continuous Delivery for Python Developers – PyCon Otto
Peter Bittner
 
Continuous delivery in Pipedrive
Tomas Rehor
 
Our continuous delivery journey
Suzie Prince
 
Jenkins Continuous Delivery
Jadson Santos
 
Continuous delivery @ hi q
Tomas Riha
 
Continous Delivery Toronto Presentation
XebiaLabs
 
Continuous Integration, Delivery and Deployment
Eero Laukkanen
 
Crawl Walk and Run to Continuous Delivery
David Batten
 
Into the cloud
Tomas Riha
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce
 
Scaling continuous delivery @ GeeCon 2014
Tomas Riha
 
On The Road towards Continuous Delivery
MyToys Group IT
 
Continuous Delivery Presentation
Mauricio Ferreyra
 
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Pietro Di Bello
 
Testing the continuous delivery process @dev opsdays ams 2013
Miel Donkers
 

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)

PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Software Development Methodologies in 2025
KodekX
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 

Continuous Delivery - Voxxed Days Bucharest 2017