Top Banner
Smidig Utrulling Anders Sveen
13

Smidig Utrulling

Dec 05, 2014

Download

Technology

Anders Sveen

Presentation held for Norwegian Java User Group. An expanded version of a lightning talk with limited time, so a bit high level. Hoping for a longer version with details for JavaZone.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Smidig Utrulling

Smidig Utrulling

Anders Sveen

Page 2: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

2

Hva er smidig utrulling?

Raskt Sikkert Miljøuavhengig Automatisert

Mange disipliner møtes• Konfigurasjonsstyring• Integrasjonsstrategi• Drift• Testing• Databaser

Du kommer ikke dit i morgen

Page 3: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

3

Hvorfor?

Definition of done Spare tid Prioritere å lage ny funksjonalitet Raskere features i test og produksjon Mindre endringer og kortere tid til man oppdager feil Raskere feilrettinger i test og produksjon Test av produksjonssetting Flere miljøer

Page 4: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

4

Motivasjon

Kultur Manuelle rutiner er waste Lette oppgaver blir gjort ofte Kan det fikses? Klart det kan!

Page 5: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

5

Hvordan

Releasehåndtering Pakking Deploy Databasehåndtering Integrasjon Applikasjonsdesign Verktøy

Page 6: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

6

Hvordan: Java

Maven med AppAssembler og Assembly plugin• Pakking• Release• Repository

Spring• Konfigurasjon og properties for miljø

Jetty• Webcontainer som pakkes med

DBDeploy• Oppgradering (migrations) av databasen

Egne script for utrulling (bash)• Hente nyeste versjon• Pakke ut• Stoppe server• Fikse spesielle settings• Oppgradere databasen• Start server

Page 7: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

7

Utviklingsløpet

Utvikler DBsandkasse

Hent release

t versj

on

Hent releaset versjon

Hent releaset versjon

Commit

Tes

ter

Utvikler Subversion Mavenrepository

Deploy

Hen

t nye

ste

Hudson Test

Beta

ProdDB

DB

DB

Oppgrader

Oppgrader

Oppgrader

Page 8: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

8

asv@beast:~$ ./deploy.sh test org.myorg myapp 2.13.1

Downloading org.myorg:myapp:2.13.1 ... OKDownloading org.myorg:myapp-database:2.13.1 ... OKUnpacking... OKStopping server... OKUpgrading database... OKDeploying new version... OKStarting server... OK

Done deploying org.myorg:myapp:2.13.1 in 2:21

asv@beast:~$

Page 9: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

9

Feil?

Automatiske tester Kopiproduksjon Vær forberedt på feil Tilbakerulling Automatisk feildeteksjon

Page 10: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

10

Utfordringer

Politikk Feilhåndtering Håndtering av testdata Tilbakerulling av databasen Kunnskap om database refactoring Grensesnitt mot andre Bygg kultur!

Page 11: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

11

Finnes det der ute?

IMVU går i produksjon flere ganger om dagen

Patientkeeper ruller ut ved hver iterasjonsavslutning

Hvorfor ikke?

Page 12: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

12

Spørsmål?

Page 13: Smidig Utrulling

© 2008 Capgemini - All rights reserved

Anders Sveen

13

Smidig 2009

[email protected] / http://blog.f12.no / http://twitter.com/anderssv