2. WHO AM I?
• Quality software engineer
• Working in Kanban team (4 +5 people)
• Working on a middleware project
integrating banking front office with
backend systems
3. AGENDA
• Terminology – continuous integration/delivery/deployment
• Why should you care?
• Prerequisites
• Implementation
• Beware of pipeline dependencies
• Continuous deployment aka Zero down time deployment
4. CONTINUOUS…
• … Integration
• Merge changes to master/trunk at least daily
• You cannot merge to master/trunk if your code does not compile
• … Delivery
• Merge changes to master/trunk only if complete set of tests passed
• Make sure that you feel comfortable with deploying the artefact that
passed CD pipeline
• … Deployment
• Deploy to production at least daily
5. REALITY
• Continuously red night-builds
• Continuous analysis of the build result
• Continuous chasing for the guilty
• Continuous feeling of being a trouble-
maker
• Continuous manual regression
• Hardening iterations
• Continuous Delivery/Deployment
6. ENABLING "THE CONTINUOUS"
"DON'T DEMAND PERFECTION BUT INSIST ON
CONTINUOUS IMPROVEMENT" BY ANONYMOUS
• Scripts used to build environment
• Scripts used to build application
• Scripts used to deploy application
• Unit/Integration/System/Performance tests
Static – changes in static upstream dependencies does not trigger downstream builds
Fluid – changes in fluid dependencies trigger downstream builds alwas
Guarded – if build for given fluid dependency failed, the dependency is set to last known good one and it is marked as guarded