Post on 16-Apr-2017
Release early, Release oftenBetter products through Continuous deployment
Florian Motlik
Outline
What is Continuous Integration/Continuous Deployment
Why is it important
Cloud, Mobile and Continuous Deployment
Who is doing it?
How we do it?
What is the future of this
A better tomorrow today
Getting started with testing
Continuous Integration
Continuous Deployment
Why?
Robust Application
Solid Architecture
http://www.flickr.com/photos/wilhelmja/4233621517/
Easy to test
Focus
Very fast iteration
/
Value
Time
Why is the cloud perfect for CD
Built for automated deployment
Standardized
Staging is easy
Automated Rollback
Mobile?
Fast paced
Quick feedback cycles
Eat your own dogfood
Beta only!
Easy to push to Beta
In Practice
Many Startups
Cornerstone of Lean Startup
Continuous Deployment at Codeship
Github Flow
feature/bug branchesfor everything
Always branch from master
Pull Request with Code Review
Merge into master and deploy
The Future?
A better tomorrow, today
Test/Test/Test, but be smart about it
A better tomorrow, today
Test/Test/Test, but be smart about it
Automate Deployment
A better tomorrow, today
Test/Test/Test, but be smart about it
Automate Deployment
Automate Rollback
A better tomorrow, today
Test/Test/Test, but be smart about it
Automate Deployment
Automate Rollback
Build small services
A better tomorrow, today
Test/Test/Test, but be smart about it
Automate Deployment
Automate Rollback
Build small services
Deploy to Staging
A better tomorrow, today
Test/Test/Test, but be smart about it
Automate Deployment
Automate Rollback
Build small services
Deploy to Staging
Use your staging environment
A better tomorrow, today
Test/Test/Test, but be smart about it
Automate Deployment
Automate Rollback
Build small services
Deploy to Staging
Use your staging environment
Automatically deploy to production
Getting started with testingThe blank page problem
Getting started with testing
Start from top to bottom
Getting started with testing
Start from top to bottom
Get everyone on the team
Getting started with testing
Start from top to bottom
Get everyone on the team
Everyone writes down 8 scenarios your users do
Getting started with testing
Start from top to bottom
Get everyone on the team
Everyone writes down 8 scenarios your users do
Discuss the scenarios and rank them
Getting started with testing
Start from top to bottom
Get everyone on the team
Everyone writes down 8 scenarios your users do
Discuss the scenarios and rank them
Go down the list and write tests
Scenarios
Given: I am on the landing page
When: I click on Signup
And: I enter my Email Address and Password
Then: I should be logged in and see the welcome page
And: I should receive a welcome email
Scenarios
Given: I am on the detail page of a product
When: I click buy
And: I log into my account
And: I enter my payment details
Then: I will be shown an overview of my purchase
And: I can finish the purchase