SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
import continuous.delivery.*
                          Anton Arhipov
                           @antonarhipov

                            Product Lead
                          ZeroTurnaround


Monday, November 19, 12
Agenda
                          Agile Manifesto says:


             INDIVIDUALS and INTERACTIONS
                         over
                 PROCESSES and TOOLS,
                   blah, blah, blah ...
Monday, November 19, 12
Agenda


                          PROCESSES and TOOLS


Monday, November 19, 12
Fedex process

      • Package
      • Dropoff
      • Transfer
      • Delivery
      • Profit!
Monday, November 19, 12
Java EE

      • Package
      • Test
      • Approve
      • Deploy
      • Profit!
Monday, November 19, 12
Questions?

      • What exactly is in prod now?
      • How did it get deployed?
      • How did it get there?
      • Where did it come from?
      • How did you package the application?
Monday, November 19, 12
Fedex FAIL




Monday, November 19, 12
Software FAIL




Monday, November 19, 12
Monday, November 19, 12
Continuous Delivery
              Pipeline
Monday, November 19, 12
A pipeline?




                          Source: http://startupblog.files.wordpress.com/2008/09/pipeline1.jpg


Monday, November 19, 12
Continuous Delivery pipeline!




                          Source: http://studentthinktank.eu/wp-content/uploads/2012/02/03_TURKMEN-PIPELINE.jpg
Monday, November 19, 12
Philosophy

      • Automate
      • Record
      • Test
      • Recover

Monday, November 19, 12
The Pipeline


      • Orchestration Platform
      • Delivery Manager
      • Artifact Repository

Monday, November 19, 12
Jenkins
  (OSS Continuous Integration Server)
Monday, November 19, 12
Orchestration
                            platform

Monday, November 19, 12
LiveRebel
    (Commercial Delivery Manager)
Monday, November 19, 12
What can you do with LiveRebel?
      • Deploy/Undeploy
      • Update
        • No downtime
        • No lost sessions
        • Plain old restarts
      • Environment/deployment status
Monday, November 19, 12
Why LiveRebel?

           • No good OSS alternative
           • Supports many app servers
           • No downtime updates
           • Integrates with OSS projects

Monday, November 19, 12
And we freakin’
                             built it!

Monday, November 19, 12
Artifactory
  (OSS/Commercial Artifact Repository)
Monday, November 19, 12
Alternatives


      • FTP
      • Jenkins
      • Nexus (and the like)

Monday, November 19, 12
Monday, November 19, 12
Now let’s build a
                        pipeline!
Monday, November 19, 12
The Pipeline / The Repos


Monday, November 19, 12
Repository              Build      Test            QA          RC




      Pipeline            Build       Test          QA        Dist        GO!




     Deployment                              Test        Staging                Prod

Monday, November 19, 12
The tools in the pipeline




Monday, November 19, 12
Pipeline phases

Monday, November 19, 12
Build phase




Monday, November 19, 12
Test phase




Monday, November 19, 12
QA phase




Monday, November 19, 12
Production phase




Monday, November 19, 12
Dirty details in
                              Jenkins
Monday, November 19, 12
Themes Not Covered


      • Database
      • Configuration & Environment
      • Tests & Monitoring

Monday, November 19, 12
Questions?

      • How do you package the application?
      • Where did it come from?
      • Where does it go?
      • How does it get deployed?
      • What exactly is in prod now?
Monday, November 19, 12
The answers are
                           in the pipeline!

Monday, November 19, 12
Pipeline Summary

      • Jenkins jobs represent the workflow
      • Artifactory is a sync-point
      • LiveRebel manages apps and versions
      • Manual flows with REST
      • Tracking with scripts & text files
Monday, November 19, 12
Not bad, but what about the process??
Monday, November 19, 12
Monday, November 19, 12
Traditional Process



       Developer                  QA




                          Release Engineer   SysOp
Monday, November 19, 12
Powered by CD


                                   QA
       Developer                                Manager




                          CD Engineer   SysOp
Monday, November 19, 12
What’s changed?




Monday, November 19, 12
What’s changed?

      • Increased significance of automated QA




Monday, November 19, 12
What’s changed?

      • Increased significance of automated QA
      • Reduced manual testing



Monday, November 19, 12
What’s changed?

      • Increased significance of automated QA
      • Reduced manual testing
      • Infrastructure roles NOT involved with release


Monday, November 19, 12
What’s changed?

      • Increased significance of automated QA
      • Reduced manual testing
      • Infrastructure roles NOT involved with release
      • Release approval is a business decision

Monday, November 19, 12
What’s changed?

      • Increased significance of automated QA
      • Reduced manual testing
      • Infrastructure roles NOT involved with release
      • Release approval is a business decision
      • Automation is the key
                                Too good to be true, eh?
Monday, November 19, 12
Q&A
                               @antonarhipov

                          anton@zeroturnaround.com
Monday, November 19, 12

Weitere ähnliche Inhalte

Andere mochten auch

NetBeans Plugin Development: JRebel Experience Report
NetBeans Plugin Development: JRebel Experience ReportNetBeans Plugin Development: JRebel Experience Report
NetBeans Plugin Development: JRebel Experience Report
Anton Arhipov
 
Загрузчики классов в Java - коллекция граблей
Загрузчики классов в Java - коллекция граблейЗагрузчики классов в Java - коллекция граблей
Загрузчики классов в Java - коллекция граблей
Anton Arhipov
 
Introduction to Groovy
Introduction to GroovyIntroduction to Groovy
Introduction to Groovy
Anton Arhipov
 
Devclub 01/2017 - (Не)адекватное Java-интервью
Devclub 01/2017 - (Не)адекватное Java-интервьюDevclub 01/2017 - (Не)адекватное Java-интервью
Devclub 01/2017 - (Не)адекватное Java-интервью
Anton Arhipov
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
Anton Arhipov
 

Andere mochten auch (15)

NetBeans Plugin Development: JRebel Experience Report
NetBeans Plugin Development: JRebel Experience ReportNetBeans Plugin Development: JRebel Experience Report
NetBeans Plugin Development: JRebel Experience Report
 
Загрузчики классов в Java - коллекция граблей
Загрузчики классов в Java - коллекция граблейЗагрузчики классов в Java - коллекция граблей
Загрузчики классов в Java - коллекция граблей
 
JavaOne 2015 - Having fun with Javassist
JavaOne 2015 - Having fun with JavassistJavaOne 2015 - Having fun with Javassist
JavaOne 2015 - Having fun with Javassist
 
Joker 2016 - Bytecode 101
Joker 2016 - Bytecode 101Joker 2016 - Bytecode 101
Joker 2016 - Bytecode 101
 
Introduction to Groovy
Introduction to GroovyIntroduction to Groovy
Introduction to Groovy
 
Con-FESS 2015 - Having Fun With Javassist
Con-FESS 2015 - Having Fun With JavassistCon-FESS 2015 - Having Fun With Javassist
Con-FESS 2015 - Having Fun With Javassist
 
JPoint 2016 - Bytecode
JPoint 2016 - BytecodeJPoint 2016 - Bytecode
JPoint 2016 - Bytecode
 
JPoint 2016 - Etudes of DIY Java profiler
JPoint 2016 - Etudes of DIY Java profilerJPoint 2016 - Etudes of DIY Java profiler
JPoint 2016 - Etudes of DIY Java profiler
 
Something about Golang
Something about GolangSomething about Golang
Something about Golang
 
Devclub 01/2017 - (Не)адекватное Java-интервью
Devclub 01/2017 - (Не)адекватное Java-интервьюDevclub 01/2017 - (Не)адекватное Java-интервью
Devclub 01/2017 - (Не)адекватное Java-интервью
 
Oredev 2015 - Taming Java Agents
Oredev 2015 - Taming Java AgentsOredev 2015 - Taming Java Agents
Oredev 2015 - Taming Java Agents
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
 
Riga Dev Day 2016 - Having fun with Javassist
Riga Dev Day 2016 - Having fun with JavassistRiga Dev Day 2016 - Having fun with Javassist
Riga Dev Day 2016 - Having fun with Javassist
 
Voxxed Days Vilnius 2015 - Having fun with Javassist
Voxxed Days Vilnius 2015 - Having fun with JavassistVoxxed Days Vilnius 2015 - Having fun with Javassist
Voxxed Days Vilnius 2015 - Having fun with Javassist
 
Something about Golang
Something about GolangSomething about Golang
Something about Golang
 

Ähnlich wie import continuous.delivery.*

Phingified ci and deployment strategies ipc 2012
Phingified ci and deployment strategies ipc 2012Phingified ci and deployment strategies ipc 2012
Phingified ci and deployment strategies ipc 2012
TEQneers GmbH & Co. KG
 
Austin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmirandaAustin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmiranda
George Miranda
 
Lean Startup at Innovation Works
Lean Startup at Innovation WorksLean Startup at Innovation Works
Lean Startup at Innovation Works
Ray Wu
 
Operational Impact of Continuous Deployment
Operational Impact of Continuous DeploymentOperational Impact of Continuous Deployment
Operational Impact of Continuous Deployment
Avleen Vig
 
Firefox Developer Tools 2012
Firefox Developer Tools 2012Firefox Developer Tools 2012
Firefox Developer Tools 2012
Dave Camp
 
Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12
Mario Vasquez
 

Ähnlich wie import continuous.delivery.* (20)

Triage: real-world error logging for web applications
Triage: real-world error logging for web applicationsTriage: real-world error logging for web applications
Triage: real-world error logging for web applications
 
eXo Software Factory Overview
eXo Software Factory OvervieweXo Software Factory Overview
eXo Software Factory Overview
 
Phingified ci and deployment strategies ipc 2012
Phingified ci and deployment strategies ipc 2012Phingified ci and deployment strategies ipc 2012
Phingified ci and deployment strategies ipc 2012
 
LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)LiveRebel + Pragmatic Continuous Delivery (Arcusys)
LiveRebel + Pragmatic Continuous Delivery (Arcusys)
 
Las maravillas de Google App Engine
Las maravillas de Google App EngineLas maravillas de Google App Engine
Las maravillas de Google App Engine
 
JS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-onJS-Everywhere - SSE Hands-on
JS-Everywhere - SSE Hands-on
 
JS-Everywhere - LocalStorage Hands-on
JS-Everywhere - LocalStorage Hands-onJS-Everywhere - LocalStorage Hands-on
JS-Everywhere - LocalStorage Hands-on
 
Why not to use Rails? (actually it's when not to use Rails)
Why not to use Rails? (actually it's when not to use Rails)Why not to use Rails? (actually it's when not to use Rails)
Why not to use Rails? (actually it's when not to use Rails)
 
Austin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmirandaAustin agile conf 2012 infrastructure automation-gmiranda
Austin agile conf 2012 infrastructure automation-gmiranda
 
Django Bootstrapping with Ease
Django Bootstrapping with EaseDjango Bootstrapping with Ease
Django Bootstrapping with Ease
 
Lean Startup at Innovation Works
Lean Startup at Innovation WorksLean Startup at Innovation Works
Lean Startup at Innovation Works
 
Nagios Conference 2012 - Bryan McLellan - Using Nagios With Chef
Nagios Conference 2012 - Bryan McLellan - Using Nagios With ChefNagios Conference 2012 - Bryan McLellan - Using Nagios With Chef
Nagios Conference 2012 - Bryan McLellan - Using Nagios With Chef
 
Migrando do App Engine para o Heroku
Migrando do App Engine para o HerokuMigrando do App Engine para o Heroku
Migrando do App Engine para o Heroku
 
Operations Delivery Business Value
Operations Delivery Business ValueOperations Delivery Business Value
Operations Delivery Business Value
 
Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5Multiplatform, Promises and HTML5
Multiplatform, Promises and HTML5
 
Operational Impact of Continuous Deployment
Operational Impact of Continuous DeploymentOperational Impact of Continuous Deployment
Operational Impact of Continuous Deployment
 
Firefox Developer Tools 2012
Firefox Developer Tools 2012Firefox Developer Tools 2012
Firefox Developer Tools 2012
 
Presentatie Document lifecycle2012
Presentatie Document lifecycle2012Presentatie Document lifecycle2012
Presentatie Document lifecycle2012
 
Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12Working With Social APIs - SoMeT12
Working With Social APIs - SoMeT12
 
NoSql _ MongoDB - Italian Market copy
NoSql _ MongoDB - Italian Market copyNoSql _ MongoDB - Italian Market copy
NoSql _ MongoDB - Italian Market copy
 

Mehr von Anton Arhipov

JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfJavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdf
Anton Arhipov
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingRiga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Anton Arhipov
 

Mehr von Anton Arhipov (20)

JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfJavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdf
 
Idiomatic kotlin
Idiomatic kotlinIdiomatic kotlin
Idiomatic kotlin
 
TechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервьюTechTrain 2019 - (Не)адекватное техническое интервью
TechTrain 2019 - (Не)адекватное техническое интервью
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCity
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCity
 
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hourDevoxx Ukraine 2018 - Kotlin DSL in under an hour
Devoxx Ukraine 2018 - Kotlin DSL in under an hour
 
GeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hourGeeCON Prague 2018 - Kotlin DSL in under an hour
GeeCON Prague 2018 - Kotlin DSL in under an hour
 
Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
 
Build pipelines with TeamCity
Build pipelines with TeamCityBuild pipelines with TeamCity
Build pipelines with TeamCity
 
JavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainersJavaDay Kiev 2017 - Integration testing with TestContainers
JavaDay Kiev 2017 - Integration testing with TestContainers
 
GeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainersGeeCON Prague 2017 - TestContainers
GeeCON Prague 2017 - TestContainers
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingJavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
 
JavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassleJavaOne 2017 - TestContainers: integration testing without the hassle
JavaOne 2017 - TestContainers: integration testing without the hassle
 
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloadingJavaOne 2017 - The hitchhiker’s guide to Java class reloading
JavaOne 2017 - The hitchhiker’s guide to Java class reloading
 
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloadingJavaZone 2017 - The Hitchhiker’s guide to Java class reloading
JavaZone 2017 - The Hitchhiker’s guide to Java class reloading
 
JUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentationJUG.ua 20170225 - Java bytecode instrumentation
JUG.ua 20170225 - Java bytecode instrumentation
 
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloadingRiga DevDays 2017 - The hitchhiker’s guide to Java class reloading
Riga DevDays 2017 - The hitchhiker’s guide to Java class reloading
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
 
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloadingJEEConf 2017 - The hitchhiker’s guide to Java class reloading
JEEConf 2017 - The hitchhiker’s guide to Java class reloading
 
JEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with JavassistJEEConf 2017 - Having fun with Javassist
JEEConf 2017 - Having fun with Javassist
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

import continuous.delivery.*

  • 1. import continuous.delivery.* Anton Arhipov @antonarhipov Product Lead ZeroTurnaround Monday, November 19, 12
  • 2. Agenda Agile Manifesto says: INDIVIDUALS and INTERACTIONS over PROCESSES and TOOLS, blah, blah, blah ... Monday, November 19, 12
  • 3. Agenda PROCESSES and TOOLS Monday, November 19, 12
  • 4. Fedex process • Package • Dropoff • Transfer • Delivery • Profit! Monday, November 19, 12
  • 5. Java EE • Package • Test • Approve • Deploy • Profit! Monday, November 19, 12
  • 6. Questions? • What exactly is in prod now? • How did it get deployed? • How did it get there? • Where did it come from? • How did you package the application? Monday, November 19, 12
  • 10. Continuous Delivery Pipeline Monday, November 19, 12
  • 11. A pipeline? Source: http://startupblog.files.wordpress.com/2008/09/pipeline1.jpg Monday, November 19, 12
  • 12. Continuous Delivery pipeline! Source: http://studentthinktank.eu/wp-content/uploads/2012/02/03_TURKMEN-PIPELINE.jpg Monday, November 19, 12
  • 13. Philosophy • Automate • Record • Test • Recover Monday, November 19, 12
  • 14. The Pipeline • Orchestration Platform • Delivery Manager • Artifact Repository Monday, November 19, 12
  • 15. Jenkins (OSS Continuous Integration Server) Monday, November 19, 12
  • 16. Orchestration platform Monday, November 19, 12
  • 17. LiveRebel (Commercial Delivery Manager) Monday, November 19, 12
  • 18. What can you do with LiveRebel? • Deploy/Undeploy • Update • No downtime • No lost sessions • Plain old restarts • Environment/deployment status Monday, November 19, 12
  • 19. Why LiveRebel? • No good OSS alternative • Supports many app servers • No downtime updates • Integrates with OSS projects Monday, November 19, 12
  • 20. And we freakin’ built it! Monday, November 19, 12
  • 21. Artifactory (OSS/Commercial Artifact Repository) Monday, November 19, 12
  • 22. Alternatives • FTP • Jenkins • Nexus (and the like) Monday, November 19, 12
  • 24. Now let’s build a pipeline! Monday, November 19, 12
  • 25. The Pipeline / The Repos Monday, November 19, 12
  • 26. Repository Build Test QA RC Pipeline Build Test QA Dist GO! Deployment Test Staging Prod Monday, November 19, 12
  • 27. The tools in the pipeline Monday, November 19, 12
  • 33. Dirty details in Jenkins Monday, November 19, 12
  • 34. Themes Not Covered • Database • Configuration & Environment • Tests & Monitoring Monday, November 19, 12
  • 35. Questions? • How do you package the application? • Where did it come from? • Where does it go? • How does it get deployed? • What exactly is in prod now? Monday, November 19, 12
  • 36. The answers are in the pipeline! Monday, November 19, 12
  • 37. Pipeline Summary • Jenkins jobs represent the workflow • Artifactory is a sync-point • LiveRebel manages apps and versions • Manual flows with REST • Tracking with scripts & text files Monday, November 19, 12
  • 38. Not bad, but what about the process?? Monday, November 19, 12
  • 40. Traditional Process Developer QA Release Engineer SysOp Monday, November 19, 12
  • 41. Powered by CD QA Developer Manager CD Engineer SysOp Monday, November 19, 12
  • 43. What’s changed? • Increased significance of automated QA Monday, November 19, 12
  • 44. What’s changed? • Increased significance of automated QA • Reduced manual testing Monday, November 19, 12
  • 45. What’s changed? • Increased significance of automated QA • Reduced manual testing • Infrastructure roles NOT involved with release Monday, November 19, 12
  • 46. What’s changed? • Increased significance of automated QA • Reduced manual testing • Infrastructure roles NOT involved with release • Release approval is a business decision Monday, November 19, 12
  • 47. What’s changed? • Increased significance of automated QA • Reduced manual testing • Infrastructure roles NOT involved with release • Release approval is a business decision • Automation is the key Too good to be true, eh? Monday, November 19, 12
  • 48. Q&A @antonarhipov anton@zeroturnaround.com Monday, November 19, 12