20
How to deploy to production 10 times a day Andrii Shumada Ciklum/e-conomic eagleeye eagleeye_s [email protected]

How to deploy to production 10 times a day

Embed Size (px)

Citation preview

Page 1: How to deploy to production 10 times a day

How to deploy to production 10 times a day

Andrii ShumadaCiklum/e-conomic

eagleeye eagleeye_s [email protected]

Page 2: How to deploy to production 10 times a day

What is contious deployment?

A software engineering approach in which teams keep producing valuable software in short cycles and ensure that the software can be reliably released at any time

Page 3: How to deploy to production 10 times a day

Why to do Continuos deployment?

Page 4: How to deploy to production 10 times a day

less queues

no waiting till next scheduled realease

more tasks get done

Speed

Page 5: How to deploy to production 10 times a day

Developer satisfaction

code with feauture is isolated

less planings

less stress

Page 6: How to deploy to production 10 times a day

Quality

Bugs can be found faster

Bugs can be fixed faster

More concentrated testing

Less risks

Page 7: How to deploy to production 10 times a day

Recruitment

Hey, we deploy every day!

Page 8: How to deploy to production 10 times a day

echo alias deploy=’mocha && git push heroku master‘ >> ~/.bash_profile

Let’s setup super simple CD

Page 9: How to deploy to production 10 times a day

How about confilcts with other guys?

Page 10: How to deploy to production 10 times a day

Centralized Workflow

Page 11: How to deploy to production 10 times a day

Feature Branch Workflow

Page 12: How to deploy to production 10 times a day

Manual testing(before) Prod

Staging

Page 13: How to deploy to production 10 times a day

Manual testing(after) Prod

Staging-feature-1

feature-branch-1

Staging-feature-2

feature-branch-2

Staging-feature-3

feature-branch-3

Page 14: How to deploy to production 10 times a day

Contious integration server

1.Trigger rules 2.Build steps

Checks VCS

by userdeploy

TeamCityJenkinsShippableTravis

run tests

Web hooks

Page 15: How to deploy to production 10 times a day

Safe merge to master and deploy

Production

CI server

Write your feature

Push your feature to branch ready/feature1

delete ready/feature1 branch

deploy master

pulls master locally

merge ready/feature1 to master locally

run tests

push to origin/master

Page 16: How to deploy to production 10 times a day

When we can release that?

PO/Manage(before)

Page 17: How to deploy to production 10 times a day

Is it in production?

PO/Manager(after)

Page 18: How to deploy to production 10 times a day

Demo

Page 19: How to deploy to production 10 times a day

Don’t forget about monitoring

General recomendations

Split big tasks to fit 1-2 days release cycle

Don’t plan and estimate