Vishal Sahasrabuddhe
What we need to do
• Source code
• Builds
• Deployments
• QA
CI
release != deployment
The next step: From CI to Continuous Delivery
Its attitude to Make Software safe and to go fast
What is Continuous Delivery
How much time it takes to
deploy one line change or a
small bug fix in to the
production?
Begin with basic
Why Need Continuous Delivery?
• SpeedStop waiting around on each other
• Quality– It raises the overall quality of your application
– No surprises.
• Capacity
• Clarity– Get every team on one tool
– Eliminate manual error
How
HowSource Control
Build
Deployment
QA
Ticketing
Prod
System
Sample workflow
Speed is essential because there is an
opportunity and cost associated with
not delivering Software
Frequent Releases
• How Frequent is Frequent Why Developer
need to wait after writing code?
Everybuild can be potential Release
candidate.
Key area
Automation
Removing Manual Work/Steps.Move towards complete automation.
Dev Team ReleaseVersion ControlBuild and Unit
TestQA
Check in
Check in
Check in
Trigger
Trigger
Trigger
Trigger
Trigger
Feedback
Feedback
Feedback Approval
Delivery Flow
Configuration Management
continuous integration/ Automated Build
Automated Deployment
Automated testing
Ingredients
• Collaboration
• Integration is no longer an event
• Check In Regularly
• Make small frequent releases
Dev Team
Dev TeamBig Change – Big risk – Big effortSmall Change – Small risk – Small effort
Complete automation
Keep the Build and Test Process Short
Let’s break the QA and do the QA frequently.
Publish the report
QA team
Complete Environment to test everything.
Flexible and scalable
Managed as prod
Increasing Confidence in build’s production readiness
reducing release risk
Environment
manual work,
Lengthy Process
ticket system
approval
Blockers
Do not add gates, add only checks
Adding gates to prevent issues from creeping into prod is not so
smart
There are many more issues hiding, you just don’t know them
Blocker
Why do we need CAB?
Dev Sign off
QA sign off
Dependency sign off
Ops Sign off
Infra sign off
Approval
• Tracking Project mgmt tool (Jira).
• Get everyone together at the beginning
• Keep meeting across the team
Dev Sign off
• Consolidated QA report.
• Definition of “Go Ahead”.
• Minimum criteria for QA.
QA Sign off
• Include them at the beginning of the project.
• Get everyone together at the beginning
• Keep meeting across the team
Ops, Dependency, Infra Sign off
Product
Dev
QA
Ops
SCM/ Release Mgmt Continuous Delivery/Deplo
yment
Source Code
Support -Dev
Build Setup
Support - Dev
Enabling QA Automation
and reporting via Jenkins
Support – QA and Dev
Infrastructure for QA
Support- Infra and QA, IDP
Deployment Automation
Support – Ops, Dev and QA
CAB Automation and release
planning
Support –Release Mgmt
SCM + Release
Continuous what?
ContinuousDelivery
ContinuousDeployment
ContinuousIntegration
commit =a build
commit = shippable
product
commit =production
release
Lets start with Continuous
Delivery
Extend it to Continuous
Deployment
Start
Review