Upload
anders-sveen
View
2.208
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
Smidig Utrulling
Anders Sveen
© 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
© 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
© 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!
© 2008 Capgemini - All rights reserved
Anders Sveen
5
Hvordan
Releasehåndtering Pakking Deploy Databasehåndtering Integrasjon Applikasjonsdesign Verktøy
© 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
© 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
© 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:~$
© 2008 Capgemini - All rights reserved
Anders Sveen
9
Feil?
Automatiske tester Kopiproduksjon Vær forberedt på feil Tilbakerulling Automatisk feildeteksjon
© 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!
© 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?
© 2008 Capgemini - All rights reserved
Anders Sveen
12
Spørsmål?
© 2008 Capgemini - All rights reserved
Anders Sveen
13
Smidig 2009
[email protected] / http://blog.f12.no / http://twitter.com/anderssv