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" Андрей Шумада

  • Upload
    fwdays

  • View
    257

  • Download
    1

Embed Size (px)

Citation preview

How to deploy to production 10 times a day

Andrii ShumadaCiklum/e-conomic

eagleeye eagleeye_s [email protected]

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

Why to do Continuos deployment?

less queues

no waiting till next scheduled realease

more tasks get done

Speed

Developer satisfaction

code with feauture is isolated

less planings

less stress

Quality

Bugs can be found faster

Bugs can be fixed faster

More concentrated testing

Less risks

Recruitment

Hey, we deploy every day!

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

Let’s setup super simple CD

How about confilcts with other guys?

Centralized Workflow

Feature Branch Workflow

Manual testing(before) Prod

Staging

Manual testing(after) Prod

Staging-feature-1

feature-branch-1

Staging-feature-2

feature-branch-2

Staging-feature-3

feature-branch-3

Contious integration server

1.Trigger rules 2.Build steps

Checks VCS

by userdeploy

TeamCityJenkinsShippableTravis

run tests

Web hooks

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

When we can release that?

PO/Manage(before)

Is it in production?

PO/Manager(after)

Demo

Don’t forget about monitoring

General recomendations

Split big tasks to fit 1-2 days release cycle

Don’t plan and estimate