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
PPTX
Scaling Push Messaging for Millions of Netflix Devices
PDF
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
PPTX
Using an API Gateway for Microservices
PDF
API Gateway study
PDF
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
PDF
Microservice API Gateways with NGINX
PDF
Kuberntes Ingress with Kong
Edge architecture ieee international conference on cloud engineering
Scaling Push Messaging for Millions of Netflix Devices
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Using an API Gateway for Microservices
API Gateway study
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice API Gateways with NGINX
Kuberntes Ingress with Kong

What's hot (20)

PDF
Introduction to Kong API Gateway
PDF
Kong API
PDF
WTF Do We Need a Service Mesh?
PPTX
API Gateway: Nginx way
PDF
API Gateway report
PDF
Microservices & API Gateways
PDF
Manage your APIs and Microservices with an API Gateway
PDF
Stop reinventing the wheel with Istio by Mete Atamel (Google)
PDF
Ambassador Kubernetes-Native API Gateway
PPTX
Gatekeeper: API gateway
PPTX
Api gateway in microservices
PPTX
Microservice: starting point
PPTX
An Open-Source Platform to Connect, Manage, and Secure Microservices
PPTX
Scale your application to new heights with NGINX and AWS
PPTX
Comprehensive container based service monitoring with kubernetes and istio
PPTX
Scylla Summit 2018: Kong & Cassandra/Scylla for distributed APIs and Microser...
PDF
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
PPTX
NGINX Controller: Configuration, Management, and Troubleshooting at Scale
PDF
Mastering Microservices with Kong (CodeMotion 2019)
PDF
apidays LIVE New York 2021 - Introduction to HATEOAS with Ketting by Evert Po...
Introduction to Kong API Gateway
Kong API
WTF Do We Need a Service Mesh?
API Gateway: Nginx way
API Gateway report
Microservices & API Gateways
Manage your APIs and Microservices with an API Gateway
Stop reinventing the wheel with Istio by Mete Atamel (Google)
Ambassador Kubernetes-Native API Gateway
Gatekeeper: API gateway
Api gateway in microservices
Microservice: starting point
An Open-Source Platform to Connect, Manage, and Secure Microservices
Scale your application to new heights with NGINX and AWS
Comprehensive container based service monitoring with kubernetes and istio
Scylla Summit 2018: Kong & Cassandra/Scylla for distributed APIs and Microser...
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
NGINX Controller: Configuration, Management, and Troubleshooting at Scale
Mastering Microservices with Kong (CodeMotion 2019)
apidays LIVE New York 2021 - Introduction to HATEOAS with Ketting by Evert Po...
Ad

Viewers also liked (13)

PDF
The seven more deadly sins of microservices final
PDF
Microservices deployment patterns
PDF
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
PDF
Building a Modern Microservices Architecture at Gilt: The Essentials
PDF
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
PPTX
Zero to Continuous Delivery on Google Cloud
PDF
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
PDF
Java Microservices with Netflix OSS & Spring
PDF
Developing and deploying applications with Spring Boot and Docker (@oakjug)
PPTX
Deployment Automation with Microservices
PPTX
Data stream processing and micro service architecture
PDF
Microservice With Spring Boot and Spring Cloud
PPTX
Zuul @ Netflix SpringOne Platform
The seven more deadly sins of microservices final
Microservices deployment patterns
Voxxed Days Thessaloniki 2016 - Continuous Delivery: Jenkins, Docker and Spri...
Building a Modern Microservices Architecture at Gilt: The Essentials
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Zero to Continuous Delivery on Google Cloud
From a Monolithic to a Distributed API Architecture
 at Eventbrite - Presente...
Java Microservices with Netflix OSS & Spring
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Deployment Automation with Microservices
Data stream processing and micro service architecture
Microservice With Spring Boot and Spring Cloud
Zuul @ Netflix SpringOne Platform
Ad

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

PDF
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
PDF
Continuous Delivery - Devoxx Morocco 2016
PDF
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
PDF
Karim Fanadka
PPTX
Developing for the Atlassian Ecosystem
PDF
Alfresco Transform Service DevCon 2019
 
PDF
Agile North East Agile + DevOps by Craig Pearson of CAP Project Services
PDF
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
PDF
Microservice Teams - How the cloud changes the way we work
PDF
Strong practices for rails applications continuous delivery
PPTX
The DevOps Journey
PPTX
Continuous Testing
PPTX
Continuous Testing 2016
PPTX
DevOps at scale: what we did, what we learned at Societe Generale
PPTX
Operating a High Velocity Large Organization with Spring Cloud Microservices
PPTX
AUG NYC - Atlassian Server Updates
PPTX
CI/CD for mobile at HERE
PPTX
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
PPTX
Translating Developer Productivity to Netflix Customer Delight
PPTX
Functional Continuous Integration with Selenium and Hudson
Continuous Delivery - Voxxed Days Thessaloniki 21.10.2016
Continuous Delivery - Devoxx Morocco 2016
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Karim Fanadka
Developing for the Atlassian Ecosystem
Alfresco Transform Service DevCon 2019
 
Agile North East Agile + DevOps by Craig Pearson of CAP Project Services
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Microservice Teams - How the cloud changes the way we work
Strong practices for rails applications continuous delivery
The DevOps Journey
Continuous Testing
Continuous Testing 2016
DevOps at scale: what we did, what we learned at Societe Generale
Operating a High Velocity Large Organization with Spring Cloud Microservices
AUG NYC - Atlassian Server Updates
CI/CD for mobile at HERE
DevOps and Continuous Delivery with Visual Studio 2015 and VSTS
Translating Developer Productivity to Netflix Customer Delight
Functional Continuous Integration with Selenium and Hudson

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)

PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
August Patch Tuesday
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Modernising the Digital Integration Hub
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Tartificialntelligence_presentation.pptx
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
OMC Textile Division Presentation 2021.pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
August Patch Tuesday
Module 1.ppt Iot fundamentals and Architecture
Programs and apps: productivity, graphics, security and other tools
DP Operators-handbook-extract for the Mautical Institute
WOOl fibre morphology and structure.pdf for textiles
Zenith AI: Advanced Artificial Intelligence
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
Group 1 Presentation -Planning and Decision Making .pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Modernising the Digital Integration Hub
Hindi spoken digit analysis for native and non-native speakers
Tartificialntelligence_presentation.pptx
observCloud-Native Containerability and monitoring.pptx
Getting Started with Data Integration: FME Form 101
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Chapter 5: Probability Theory and Statistics
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Developing a website for English-speaking practice to English as a foreign la...
OMC Textile Division Presentation 2021.pptx

Continuous Delivery - Voxxed Days Bucharest 2017