SlideShare a Scribd company logo
Continuous Delivery
with OpenShift
Docker Meetup 31.5.2016
Thomas Philipona
CTO
Agenda
1. OpenShift v3
2. CI / CD
3. Key Concepts
4. OpenShift CI /CD
Pipeline with Jenkins
OpenShift v3
1
OpenShift v3
“next generation PaaS” OpenShift v3 by Red Hat
V3 new implementation based on « de facto » standard technologies
Based on reliable open source concepts
Docker Kubernetes
OpenShift v3
Container Platform as a Service (PaaS)
Multinode platform, Docker container runtime
Docker build platform
Docker registry
One platform runs it all!
Fancy CLI und GUI (self-service)
Container security enabled
Workflows
● Docker build
● Prebuilt image
● Custom builder
● Source To Image
Workflow: Source To Image (S2I)
Git ?
s2i builder image
eg. openshift/ruby-22-centos7
code
code
My App
1.push code to git
2.trigger webhook
3.clone repo
4.evaluate builder
5.assemble image
6.push to registry and deploy
1
2
3
4
5
MyApplicationMyApplicationMyApp
6
Ruby, Java, PHP, NodeJs, ...
CI / CD
2
Continuous Integration
● SCM
● compile and test
● software integration
● reporting
● deployment to test
environment
● extension of CI
● one artifact on all
environments
● fully automated
deployment with a single
click
● prod release with a single
click
● each release is deployed to
production
● rolling deployments
necessary
● blue - green deployments
Continuous Delivery Continuous Deployment
If It Hurts, Do It More Frequently,
and Bring the Pain Forward
Source: Jez Humble, David Farley, Continuous Delivery, Pearson Education, Inc. 2011
CI / CD Workflow Overview
Git
code
Compile, Unit-tests
Integration Tests, Package
Deploy to Dev
Acceptance Tests
Deploy to UAT env
Manual Tests
Deploy to Prod
Key Concepts
3
Maven / Artefactrepository
Maven versioning doesn't work well with continuous delivery
Each commit is a potential release candidate
SNAPSHOT versions do not exist
Maven release plugin is integrated into the Maven lifecycle. All or
nothing
mvn release:prepare mvn release:perform→
Many releases artifactrepository clean up→
Rolling Updates
OpenShift supports rolling updates.
The application notifies the platform when it’s ready for requests.
The routing layer then forwards requests to the new containers.
Automated Database Migration
DB Migrationscripts are part of the deployed application and
executed during startup.
$ php bin/console doctrine:schema:update
$ rake db:migrate
Automated Database Migration
Database knows the current schema version
During application startup / deployment lifecycle hook, the DB
migration is executed
Rolling update
DB must be backward compatible
Concepts: Automated Database Migration
V41 V42 V43
dropColumn
dropColumn
dropTable
dropTable
MyApplicationMyApplicationApp
DB
Concepts: Automated Database Migration
App.v41 App.v42
... oldColumn newColumn ...
guild42 guild42
DB Trigger
OpenShift CI /CD Pipeline with
Jenkins
4
Java Maven Example (1)
Git
code
Jenkins
code
Artefact Repo
artefact
checkout build release deploy
Jenkins
code
Jenkins
artefact
cfg
+ Unit test
+ Integration test
+ Code analyse
Workflow: deploy
1.Jenkins build
mvn clean install
trigger build on OSE
2.custom build
download artefact
build docker image
3.deploy container
Jenkins
artifact
1
2
MyApplicationMyApplicationMyApp
Custom builder
image
3
My App
cfg
Java Maven Example (2)
acceptance tests
Jenkins
test
Jenkins
artefact
cfg
deploy to UAT manual test
Jenkins
artefact
cfg
deploy to Prod
Jenkins Pipeline Plugin
Build jobs written as Groovy scripts.
Build job script is next to source code in git repository
Jenkins provides the environment
● Git / Artifactory / OpenShift Accounts
https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin
Example Build Script
// Stage Checkout
stage 'Checkout'
git url: 'https://gitlab.puzzle.ch/tphilipona/appuio-javaee-
example.git'
// Stage Build
stage 'Build'
sh "${mvnHome}/bin/mvn clean install"
Stage View
Conclusion
5
Key Factors: Automation and Fast Feedback
Customer,
PO
Dev Production
DeploymentIdea, Feature, Bug
Fast, qualified Feedback
Resources
https://docs.openshift.com
Q & A
01.6.2016 in BE
15.6.2016 in ZH
Free APPUiO
OpenShift Techlab
Thank You!
Ad

More Related Content

What's hot (20)

Multi-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroMulti-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with Velero
Kublr
 
Openbar 7 - Leuven - OpenShift - The Enterprise Container Platform - Piros
Openbar 7 - Leuven - OpenShift - The Enterprise Container Platform - PirosOpenbar 7 - Leuven - OpenShift - The Enterprise Container Platform - Piros
Openbar 7 - Leuven - OpenShift - The Enterprise Container Platform - Piros
Openbar
 
Containerd + buildkit breakout
Containerd + buildkit breakoutContainerd + buildkit breakout
Containerd + buildkit breakout
Docker, Inc.
 
Automating CICD Pipeline with GitLab and Docker Containers for Java Applications
Automating CICD Pipeline with GitLab and Docker Containers for Java ApplicationsAutomating CICD Pipeline with GitLab and Docker Containers for Java Applications
Automating CICD Pipeline with GitLab and Docker Containers for Java Applications
Jelastic Multi-Cloud PaaS
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Chris Aniszczyk
 
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
Docker, Inc.
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
Docker, Inc.
 
DockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mphDockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mph
Docker, Inc.
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
Docker, Inc.
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Ken Thompson
 
DEVNET-1183 OpenShift + Kubernetes + Docker
DEVNET-1183	OpenShift + Kubernetes + DockerDEVNET-1183	OpenShift + Kubernetes + Docker
DEVNET-1183 OpenShift + Kubernetes + Docker
Cisco DevNet
 
Open shift enterprise 3.1 paas on kubernetes
Open shift enterprise 3.1   paas on kubernetesOpen shift enterprise 3.1   paas on kubernetes
Open shift enterprise 3.1 paas on kubernetes
Samuel Terburg
 
Openshift presentation
Openshift presentationOpenshift presentation
Openshift presentation
Armağan Ersöz
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
Docker, Inc.
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
Mesosphere Inc.
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
Knoldus Inc.
 
JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers
Rafael Benevides
 
How Docker EE is Finnish Railway’s Ticket to App Modernization
How Docker EE is Finnish Railway’s Ticket to App ModernizationHow Docker EE is Finnish Railway’s Ticket to App Modernization
How Docker EE is Finnish Railway’s Ticket to App Modernization
Docker, Inc.
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
Serhat Dirik
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
Docker, Inc.
 
Multi-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroMulti-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with Velero
Kublr
 
Openbar 7 - Leuven - OpenShift - The Enterprise Container Platform - Piros
Openbar 7 - Leuven - OpenShift - The Enterprise Container Platform - PirosOpenbar 7 - Leuven - OpenShift - The Enterprise Container Platform - Piros
Openbar 7 - Leuven - OpenShift - The Enterprise Container Platform - Piros
Openbar
 
Containerd + buildkit breakout
Containerd + buildkit breakoutContainerd + buildkit breakout
Containerd + buildkit breakout
Docker, Inc.
 
Automating CICD Pipeline with GitLab and Docker Containers for Java Applications
Automating CICD Pipeline with GitLab and Docker Containers for Java ApplicationsAutomating CICD Pipeline with GitLab and Docker Containers for Java Applications
Automating CICD Pipeline with GitLab and Docker Containers for Java Applications
Jelastic Multi-Cloud PaaS
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
Chris Aniszczyk
 
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
#bigwhale: An Unexpected Journey into Containerization @ Lockheed Martin - Pa...
Docker, Inc.
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
Docker, Inc.
 
DockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mphDockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mph
Docker, Inc.
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
Docker, Inc.
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Ken Thompson
 
DEVNET-1183 OpenShift + Kubernetes + Docker
DEVNET-1183	OpenShift + Kubernetes + DockerDEVNET-1183	OpenShift + Kubernetes + Docker
DEVNET-1183 OpenShift + Kubernetes + Docker
Cisco DevNet
 
Open shift enterprise 3.1 paas on kubernetes
Open shift enterprise 3.1   paas on kubernetesOpen shift enterprise 3.1   paas on kubernetes
Open shift enterprise 3.1 paas on kubernetes
Samuel Terburg
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
Docker, Inc.
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
Mesosphere Inc.
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
Knoldus Inc.
 
JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers JavaOne 2016: Kubernetes introduction for Java Developers
JavaOne 2016: Kubernetes introduction for Java Developers
Rafael Benevides
 
How Docker EE is Finnish Railway’s Ticket to App Modernization
How Docker EE is Finnish Railway’s Ticket to App ModernizationHow Docker EE is Finnish Railway’s Ticket to App Modernization
How Docker EE is Finnish Railway’s Ticket to App Modernization
Docker, Inc.
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
Serhat Dirik
 
How to build your containerization strategy
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
Docker, Inc.
 

Viewers also liked (20)

Revista Fundación Carlos Sanz
Revista Fundación Carlos SanzRevista Fundación Carlos Sanz
Revista Fundación Carlos Sanz
Ilex Abogados
 
The 4 Knights of Content Marketing
The 4 Knights of Content MarketingThe 4 Knights of Content Marketing
The 4 Knights of Content Marketing
Ethos3
 
Hapa Japan Festival 2013 Flyer
Hapa Japan Festival 2013 FlyerHapa Japan Festival 2013 Flyer
Hapa Japan Festival 2013 Flyer
Jayme Kiko
 
Straffe madammen lunch januari 2015
Straffe madammen lunch januari 2015Straffe madammen lunch januari 2015
Straffe madammen lunch januari 2015
Elke Jeurissen
 
Some thoughts about the gaps across languages and domains through the experi...
Some thoughts about the gaps across languages and domains through the experi...Some thoughts about the gaps across languages and domains through the experi...
Some thoughts about the gaps across languages and domains through the experi...
National Institute of Informatics (NII)
 
Youtube marketing jokes
Youtube marketing jokesYoutube marketing jokes
Youtube marketing jokes
selinasimpson534
 
Gestão atuarial compilado
Gestão atuarial   compiladoGestão atuarial   compilado
Gestão atuarial compilado
Universidade Federal Fluminense
 
corripio
corripio corripio
corripio
Sabrina Amaral
 
Sigmund freud obras completas - lopez ballesteros
Sigmund freud   obras completas - lopez ballesterosSigmund freud   obras completas - lopez ballesteros
Sigmund freud obras completas - lopez ballesteros
Gabinete de Psicología Profesional
 
Manual dqp
Manual dqpManual dqp
Manual dqp
Ana Barroca
 
Augmenter la satisfaction de l'utilisateur
Augmenter la satisfaction de l'utilisateurAugmenter la satisfaction de l'utilisateur
Augmenter la satisfaction de l'utilisateur
Digicomp Academy Suisse Romande SA
 
Estrategia nal. obesidad 1
Estrategia nal. obesidad 1Estrategia nal. obesidad 1
Estrategia nal. obesidad 1
Universidad de Ixtlahuaca CUI
 
Marketing na Internet
Marketing na InternetMarketing na Internet
Marketing na Internet
renatofrigo
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
Microsoft
 
OpenStack @ CERN, by Tim Bell
OpenStack @ CERN, by Tim BellOpenStack @ CERN, by Tim Bell
OpenStack @ CERN, by Tim Bell
Amrita Prasad
 
Mitos y errores en las relaciones de pareja
Mitos y errores en las relaciones de parejaMitos y errores en las relaciones de pareja
Mitos y errores en las relaciones de pareja
Admingac
 
Roteiro de estudo de caso simulação do processo de compras
Roteiro de estudo de caso simulação do processo de comprasRoteiro de estudo de caso simulação do processo de compras
Roteiro de estudo de caso simulação do processo de compras
Antonio Marcos Montai Messias
 
Problemas de aprendizaje
Problemas de aprendizajeProblemas de aprendizaje
Problemas de aprendizaje
LISS
 
OpenShift for Java EE Developers
OpenShift for Java EE DevelopersOpenShift for Java EE Developers
OpenShift for Java EE Developers
Markus Eisele
 
Seo proposal for tensator group
Seo proposal for tensator groupSeo proposal for tensator group
Seo proposal for tensator group
Parixit Dwivedi
 
Revista Fundación Carlos Sanz
Revista Fundación Carlos SanzRevista Fundación Carlos Sanz
Revista Fundación Carlos Sanz
Ilex Abogados
 
The 4 Knights of Content Marketing
The 4 Knights of Content MarketingThe 4 Knights of Content Marketing
The 4 Knights of Content Marketing
Ethos3
 
Hapa Japan Festival 2013 Flyer
Hapa Japan Festival 2013 FlyerHapa Japan Festival 2013 Flyer
Hapa Japan Festival 2013 Flyer
Jayme Kiko
 
Straffe madammen lunch januari 2015
Straffe madammen lunch januari 2015Straffe madammen lunch januari 2015
Straffe madammen lunch januari 2015
Elke Jeurissen
 
Some thoughts about the gaps across languages and domains through the experi...
Some thoughts about the gaps across languages and domains through the experi...Some thoughts about the gaps across languages and domains through the experi...
Some thoughts about the gaps across languages and domains through the experi...
National Institute of Informatics (NII)
 
Marketing na Internet
Marketing na InternetMarketing na Internet
Marketing na Internet
renatofrigo
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
Microsoft
 
OpenStack @ CERN, by Tim Bell
OpenStack @ CERN, by Tim BellOpenStack @ CERN, by Tim Bell
OpenStack @ CERN, by Tim Bell
Amrita Prasad
 
Mitos y errores en las relaciones de pareja
Mitos y errores en las relaciones de parejaMitos y errores en las relaciones de pareja
Mitos y errores en las relaciones de pareja
Admingac
 
Roteiro de estudo de caso simulação do processo de compras
Roteiro de estudo de caso simulação do processo de comprasRoteiro de estudo de caso simulação do processo de compras
Roteiro de estudo de caso simulação do processo de compras
Antonio Marcos Montai Messias
 
Problemas de aprendizaje
Problemas de aprendizajeProblemas de aprendizaje
Problemas de aprendizaje
LISS
 
OpenShift for Java EE Developers
OpenShift for Java EE DevelopersOpenShift for Java EE Developers
OpenShift for Java EE Developers
Markus Eisele
 
Seo proposal for tensator group
Seo proposal for tensator groupSeo proposal for tensator group
Seo proposal for tensator group
Parixit Dwivedi
 
Ad

Similar to Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2 (20)

AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summits
 
Agile Software Development & Tools
Agile Software Development & ToolsAgile Software Development & Tools
Agile Software Development & Tools
Luismi Amorós Martínez
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
Johannes Brännström
 
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Patrick Chanezon
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
Patrick Chanezon
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
{code}
 
Gentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetesGentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetes
Nills Franssens
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
Docker intro
Docker introDocker intro
Docker intro
spiddy
 
Are VMs Passé?
Are VMs Passé?Are VMs Passé?
Are VMs Passé?
Docker, Inc.
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
dotCloud
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi0507 057 01 98 * Adana Klima Tamir Servisi
0507 057 01 98 * Adana Klima Tamir Servisi
Adana Klima Servisi Bakım Montaj Taşıma Temizlik Tamir Arıza Teknik Servisleri
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
Patrick Chanezon
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Robert McDermott
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summits
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
Johannes Brännström
 
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Patrick Chanezon
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
Patrick Chanezon
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Jonas Rosland
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
{code}
 
Gentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetesGentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetes
Nills Franssens
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
Jonas Rosland
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
Docker intro
Docker introDocker intro
Docker intro
spiddy
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
dotCloud
 
Docker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualizationDocker, a new LINUX container technology based light weight virtualization
Docker, a new LINUX container technology based light weight virtualization
Suresh Balla
 
Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016Docker Container As A Service - JAX 2016
Docker Container As A Service - JAX 2016
Patrick Chanezon
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Robert McDermott
 
Ad

Recently uploaded (20)

Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 

Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2

  • 1. Continuous Delivery with OpenShift Docker Meetup 31.5.2016 Thomas Philipona CTO
  • 2. Agenda 1. OpenShift v3 2. CI / CD 3. Key Concepts 4. OpenShift CI /CD Pipeline with Jenkins
  • 4. OpenShift v3 “next generation PaaS” OpenShift v3 by Red Hat V3 new implementation based on « de facto » standard technologies
  • 5. Based on reliable open source concepts Docker Kubernetes
  • 6. OpenShift v3 Container Platform as a Service (PaaS) Multinode platform, Docker container runtime Docker build platform Docker registry One platform runs it all! Fancy CLI und GUI (self-service) Container security enabled
  • 7. Workflows ● Docker build ● Prebuilt image ● Custom builder ● Source To Image
  • 8. Workflow: Source To Image (S2I) Git ? s2i builder image eg. openshift/ruby-22-centos7 code code My App 1.push code to git 2.trigger webhook 3.clone repo 4.evaluate builder 5.assemble image 6.push to registry and deploy 1 2 3 4 5 MyApplicationMyApplicationMyApp 6 Ruby, Java, PHP, NodeJs, ...
  • 10. Continuous Integration ● SCM ● compile and test ● software integration ● reporting ● deployment to test environment ● extension of CI ● one artifact on all environments ● fully automated deployment with a single click ● prod release with a single click ● each release is deployed to production ● rolling deployments necessary ● blue - green deployments Continuous Delivery Continuous Deployment
  • 11. If It Hurts, Do It More Frequently, and Bring the Pain Forward Source: Jez Humble, David Farley, Continuous Delivery, Pearson Education, Inc. 2011
  • 12. CI / CD Workflow Overview Git code Compile, Unit-tests Integration Tests, Package Deploy to Dev Acceptance Tests Deploy to UAT env Manual Tests Deploy to Prod
  • 14. Maven / Artefactrepository Maven versioning doesn't work well with continuous delivery Each commit is a potential release candidate SNAPSHOT versions do not exist Maven release plugin is integrated into the Maven lifecycle. All or nothing mvn release:prepare mvn release:perform→ Many releases artifactrepository clean up→
  • 15. Rolling Updates OpenShift supports rolling updates. The application notifies the platform when it’s ready for requests. The routing layer then forwards requests to the new containers.
  • 16. Automated Database Migration DB Migrationscripts are part of the deployed application and executed during startup. $ php bin/console doctrine:schema:update $ rake db:migrate
  • 17. Automated Database Migration Database knows the current schema version During application startup / deployment lifecycle hook, the DB migration is executed Rolling update DB must be backward compatible
  • 18. Concepts: Automated Database Migration V41 V42 V43 dropColumn dropColumn dropTable dropTable MyApplicationMyApplicationApp DB
  • 19. Concepts: Automated Database Migration App.v41 App.v42 ... oldColumn newColumn ... guild42 guild42 DB Trigger
  • 20. OpenShift CI /CD Pipeline with Jenkins 4
  • 21. Java Maven Example (1) Git code Jenkins code Artefact Repo artefact checkout build release deploy Jenkins code Jenkins artefact cfg + Unit test + Integration test + Code analyse
  • 22. Workflow: deploy 1.Jenkins build mvn clean install trigger build on OSE 2.custom build download artefact build docker image 3.deploy container Jenkins artifact 1 2 MyApplicationMyApplicationMyApp Custom builder image 3 My App cfg
  • 23. Java Maven Example (2) acceptance tests Jenkins test Jenkins artefact cfg deploy to UAT manual test Jenkins artefact cfg deploy to Prod
  • 24. Jenkins Pipeline Plugin Build jobs written as Groovy scripts. Build job script is next to source code in git repository Jenkins provides the environment ● Git / Artifactory / OpenShift Accounts https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin
  • 25. Example Build Script // Stage Checkout stage 'Checkout' git url: 'https://gitlab.puzzle.ch/tphilipona/appuio-javaee- example.git' // Stage Build stage 'Build' sh "${mvnHome}/bin/mvn clean install"
  • 28. Key Factors: Automation and Fast Feedback Customer, PO Dev Production DeploymentIdea, Feature, Bug Fast, qualified Feedback
  • 30. Q & A 01.6.2016 in BE 15.6.2016 in ZH Free APPUiO OpenShift Techlab