Download - Continous Delivery with CQ
![Page 1: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/1.jpg)
Continuous Delivery with CQThe way of automating the Software Development process
Oliver BurkhalterBasel, 20. Juni 2013
![Page 2: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/2.jpg)
© Unic - Seite 2
Agenda
• About me
• Continuous Integration(CI) and Continuous Delivery(CD)
• CQ and CI/CD implementation example
• Demo
![Page 3: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/3.jpg)
© Unic - Seite 3
• Oliver Burkhalter (age = 28)
• Since 2007 at Unic AG
• Likes: Software Development, People/Teams, Baking, Thun City
About me
![Page 4: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/4.jpg)
© Unic - Seite 4
One-Click
Releases
Deployments
Production
![Page 5: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/5.jpg)
© Unic - Seite 5
What is CI and CD?
Continuous Integration
Continuous Delivery
Continuous Deployment
Non-Production environment Production environment
![Page 6: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/6.jpg)
© Unic - Seite 6
• Continuous Integration:
• Team members integrate their work daily
• All the components are automatically integrated and tested by the CI system
What is CI and CD?
![Page 7: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/7.jpg)
© Unic - Seite 7
• Continuous Delivery:
• Is the advancement of CI
• Is an end-to-end approach (from dev to end user)
• Software is always in a production-ready state
• It is the technique to automate the
build, test and deployment process
• Fail Fast pattern
• Pipeline Pattern from Jez Humble&Co.
What is CI and CD?
![Page 8: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/8.jpg)
© Unic - Seite 8
• Continuous Deployment:
• Continuously deployment to the Production environment (one-click idea)
• From Development to Production
• “Extreme Cont. Delivery”
What is CI and CD?
Deployment
![Page 9: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/9.jpg)
© Unic - Seite 9
Why
![Page 10: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/10.jpg)
© Unic - Seite 10
![Page 11: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/11.jpg)
© Unic - Seite 11
• Forces us to write Quality software
• The overall Thinking changes from
dev -> test system to dev -> end user system
• Faster release cycles are possible
• Automated Software Development Process is less error prone
• Team Ownership of the release process (not only «Release Manager»,
infrastructure is also code)
• Everybody can do a release (one click)
Why?
![Page 12: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/12.jpg)
© Unic - Seite 12
Implementation example stack
Write
Build
TestDeploy
Run
Apache MavenJenkins
JUnitHtmlUnitJenkins
AntJenkins
![Page 13: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/13.jpg)
© Unic - Seite 13
• With Maven Plugins: Auto start/stop of CQ, deployment of CQ packages over the
CRX HTTP interface
• Running auto. tests with JUnit and HtmlUnit
• Set of unit and integration tests
• Automated Acceptance tests still in progress
Foundation: CI
![Page 14: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/14.jpg)
© Unic - Seite 14
• Separate “delivery” and “infrastructure” Maven module
• Delivery:
• Deployment scripts
• Filtering files
• Infrastructure
• Environment-specific configurations
• Done with Ant scripts and custom Ant tasks
Next: Continuous Delivery
![Page 15: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/15.jpg)
© Unic - Seite 15
• Direct deployment to the customer's production environment
• Depends also on the customer
• Example: Trusted Maven Repositories
Next 2: Continuous Deployment
![Page 16: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/16.jpg)
© Unic - Seite 16
Demo
![Page 17: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/17.jpg)
© Unic - Seite 17
Click to edit Master title styleHow do you do it / Questions
![Page 18: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/18.jpg)
© Unic - Seite 18
Click to edit Master title styleThank you!
![Page 19: Continous Delivery with CQ](https://reader036.vdocuments.net/reader036/viewer/2022062510/54b4952c4a79593a7b8b459a/html5/thumbnails/19.jpg)
© Unic - Seite 19
• http://martinfowler.com/articles/continuousIntegration.html
• http://martinfowler.com/delivery.html
• http
://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/
• Images from Gettyimages as license-free
References