Continous delivery - lad koden flyde 2014

Post on 02-Jul-2015

95 views 0 download

description

Når et software-produkt løbende bliver forbedret, så vil vi jo gerne give brugerne forbedringerne i hænderne så hurtigt og let som muligt. Continuous Delivery er automatiske test og automatiseret deployment strikket sammen, så I bare skal lave lækre features og checke ind - så klarer automatikken resten. Vi ser på hvordan man sætter den nødvendige infrastruktur og automatik op, så de gode tilføjelser og rettelser til koden hurtigt og automatisk flyder ud til slutbrugerne - og de knap så gode bliver stoppet undervejs.

Transcript of Continous delivery - lad koden flyde 2014

C O N T I N O U S D E L I V E R Y - L A D K O D E N F LY D E …

© 2 0 1 4 , M O R T E N U L R I K S Ø R E N S E N , B E S T B R A I N S

Bestbrains Cafémøde, november 2014

W AT E R I N T H E B A S E M E N T… N O T L I K E W H E N T H E R E ’ S B E E N A F L O O D , N O T L I K E

F R O M T H E S O U R C E T O T H E U S E R ST H E C O D E S H O U L D F L O A T E F F O R T L E S S LY

T I M E L I N E , M O R T E N

M.Sc.E., DTU

ph.d, DTU

cat@log

Adomogps-based fitness device

home server voice enabled mail server

voice controlled telephony

2000

1997

1993

2010

2001

Carnegie Mellon

Speakanet GoHello

eXtreme Programming Mobile Switchboard

Switchboard in the cloud

BestbrainsAgile experts:

consultants developers coaches in the field

- direct to web

VA L U E S , C U LT U R E , M E T H O D S ▷

H E A LT H Y O R G A N I S AT I O N , C O D E B A S E , T E A M P L AY ▷

B E T T E R P R O D U C T S , S O O N E R

B E S T B R A I N S

C O N T I N O U S D E L I V E R Y

is the answer to 2 questions:

• When we improve the code, when should the uses get it?

• What if our change is not an improvement?

and how easily we can achieve that.

W H E R E A R E W E ?

• New to me - I’m wondering what it is?

• I know the theory, but would like to learn about practicalities

• Half way - tell me more

• Come a long way, but I’ve hit a snag

• All the way - I’d like to share

• It ain’t gonna work

– C H R I S R E A D

“Until your pretty code is in production, making money, or doing whatever it does, you’ve just

wasted your time”

– A N O N Y M O U S E X - C O L L E A G U E

“Delivering software in this company is like kicking a dead whale along the beach”

cost

per

uni

t

batch size

combined cost of transaction cost of delay

O P T I M A L B AT C H S I Z E

AT A L O W E R C O S T O F T R A N S A C T I O N

cost

per

uni

t

batch size

combined cost of transaction cost of delay

O P T I M A L B AT C H S I Z E

– A N O N Y M O U S E X - C O L L E A G U E

“Delivering software in this company is like kicking a dead whale along the beach”

– M A R T I N F O W L E R

“When it hurts, do it more often“

C O N T I N O U S D E L I V E R Y

Check in Trigger

Check in Trigger

Check in Trigger

Trigger

Trigger

Full deployment

Developers Source Control

Build and unit test

System tests

Limited deployment

Check in Trigger

Trigger

Trigger

Trigger

D E M O

I N F O R M AT I O N R A D I AT O R

– O B J E C T M E N T O R C O A C H

“If you deliver every day, then no deadlines are special (or scary)”

R E F E R E N C E S

• Continuos delivery software:

• Used in demo: Thoughtworks Go

• http://www.thoughtworks.com/products/go-continuous-delivery/

• Travis-CI (cloud service)

• Read this blog: http://www.zealake.com/2012/12/25/continuous-integration-of-your-front-end-javascript-code-using-travis-ci/

• TeamCity

• Jenkins / Hudson (java-ish)

• Have fun!