Your SlideShare is downloading. ×
0
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Smidig Utrulling - JavaZone 2009
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Smidig Utrulling - JavaZone 2009

739

Published on

My slides from JavaZone 2009 on agile deployment. Sorry, presentation only in Norwegian. Video will be online, and the demo code is available at http://github.com/anderssv/agile-deploy/tree/master .

My slides from JavaZone 2009 on agile deployment. Sorry, presentation only in Norwegian. Video will be online, and the demo code is available at http://github.com/anderssv/agile-deploy/tree/master .

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
739
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Smidig utrulling<br />Anders Sveen<br />JavaZone 2009<br />
  • 2. Først<br />Teknologileder for Java i Capgemini<br />BBS, CIBER<br />Java, Smidig, Back end, Hibernate, Maven, Konfigurasjonsstyring<br />Ting som må gjøres for smidigere utrulling, og vise noen eksempler som kan inspirere<br />
  • 3. Smidig?<br />
  • 4. Smidig utrulling<br />Enkelt<br />Raskt<br />Sikkert<br />Automatisk!<br />
  • 5. Fordeler<br />Definition of done!<br />Returnoninvestment<br />Raskere verifisering og tilbakemelding<br />Flere miljøer<br />Raskere feilfiks<br />Reduserte miljøforskjeller<br />
  • 6. Hvordan?<br />Automatisering og kontroll<br />Kunnskap<br />Kultur<br />Kontinuerlig forbedring<br />
  • 7. Utfordringer<br />Kulturelt<br />Utvikling<br />Database<br />Drift<br />Teknisk<br />Er det for mange biter i applikasjonen?<br />Er andre prosjekter avhengige av grensesnitt i systemet?<br />Hvordan går vi bakover når noe går feil?<br />
  • 8. Eksempel<br />Maven<br />Webapp<br />Webserver<br />Database<br />Egenutviklet kode<br />http://github.com/anderssv/agile-deploy<br />Bruk det som inspirasjon!<br />
  • 9. Utviklingsløpet<br />
  • 10. Pakking<br />Én pakke, ZIP med Jettyembedded<br />Miljøuavhengig<br />Lages av <br />Maven Assembly plugin<br />Repodir og bin script<br />Maven Appassembler plugin<br />Pakking til zip med config og ekstra scripts<br />mvncleaninstalldeploy:deploy<br />
  • 11. Pakking<br />
  • 12. Pakking<br />
  • 13. Inne i ZIP<br />
  • 14. Utrulling<br />
  • 15. Utrulling<br />anderssv@beast:~/bin$ java -jar deployer-0.1-SNAPSHOT.jar test no.f12 bikestatus-poller 0.1-SNAPSHOT<br />INFO | y.deployer.CommandLineDeployer | Launched deploy at Sat Aug 29 13:16:01 CEST 2009<br />INFO | y.deployer.CommandLineDeployer | Starting deploy: no.f12:bikestatus-poller:0.1-SNAPSHOT<br />INFO | oy.deployer.RepositoryRepoImpl | Downloading package from http://mrepo.f12.no/snap/no/f12/bikestatus-poller/0.1-SNAPSHOT/maven-metadata.xml<br />INFO | oy.deployer.RepositoryRepoImpl | Downloading package from http://mrepo.f12.no/snap/no/f12/bikestatus-poller/0.1-SNAPSHOT/bikestatus-poller-0.1-20090818.212830-7.zip<br />INFO | y.deployer.UnpackerServiceImpl | Unpacking ./bikestatus-poller-0.1-20090818.212830-7.zip into ./bikestatus-poller/test/current<br />INFO | loyer.ConfigurationServiceImpl | Updating configuration<br />INFO | loyer.ConfigurationServiceImpl | Creating links<br />INFO | loyer.ConfigurationServiceImpl | Created link for ./bikestatus-poller/test/data at ./bikestatus-poller/test/current/data<br />INFO | loyer.ConfigurationServiceImpl | Created link for ./bikestatus-poller/test/log4j.properties at ./bikestatus-poller/test/current/log4j.properties<br />dbdeploy 3.0M1<br />INFO | loy.deployer.DeployServiceImpl | Could not inspect database for upgrade details, skipping. Increase logging for no.f12.agiledeploy.deployer.DataBaseServiceImpl to see details.<br />INFO | y.deployer.CommandLineDeployer | Deploy ended at Sat Aug 29 13:16:09 CEST 2009<br />
  • 16. Kode og database<br />Hører sammen!<br />Migrations<br />En commit inneholder både kode- og database-endringer.<br />src/main/java/no/javazone/Participant.javasrc/test/java/no/javazone/ParticipantTest.java src/db/migrations/078_add_enabled_flag_to_participant.sql<br />
  • 17. SQL<br />078_add_enabled_flag_to_participant.sql<br />ALTER TABLE participant ADD enabled varchar;<br />UPDATE participant SET enabled=&amp;apos;y&amp;apos;;<br />ALTER TABLE participant ALTER COLUMN enabled varchar NOT NULL;<br />
  • 18. SQL<br />079_change_enum_of_participant_type.sql<br />ALTER TABLE participants DISABLE participant_type_fk;<br />UPDATE participants SET type=&amp;apos;VIP&amp;apos; WHERE type=&amp;apos;ACCREDITED&amp;apos;;<br />UPDATE participant_type SET type=&amp;apos;VIP&amp;apos; WHERE type=&amp;apos;ACCREDITED&amp;apos;;<br />ALTER TABLE participants ENABLE participant_type_fk;<br />
  • 19. Tracking<br />CREATE TABLE changelog (<br /> change_number INTEGER NOT NULL,<br /> delta_set VARCHAR2(10) NOT NULL,<br /> complete_dt TIMESTAMP NOT NULL,<br /> applied_by VARCHAR2(100) NOT NULL,<br /> description VARCHAR2(500) NOT NULL<br />);<br />ALTER TABLE changelog ADD CONSTRAINT Pkchangelog PRIMARY KEY (change_number, delta_set);<br />
  • 20. Dbdeploy<br />dbdeploy 3.0M1<br />Reading change scripts from directory C:datausersAnderssourceagile-deploydeployer arget empproject estcurrentdbmigrations...<br />Changes currently applied to database:<br /> 1...77<br />Scripts available:<br /> 1...79<br />To be applied:<br /> 78, 79<br />
  • 21. Refactoring<br />
  • 22. Verktøy<br />DBDeploy - http://dbdeploy.com/<br />DbMaintain - http://dbmaintain.sourceforge.net/<br />C5-db-migration - http://code.google.com/p/c5-db-migration/<br />Scala-migrations - http://code.google.com/p/scala-migrations/<br />
  • 23. Eksempelet<br />http://github.com/anderssv/agile-deploy<br />Maven prosjekt<br />War<br />Server (Jetty embedded)<br />Deployer<br />
  • 24. Alternativer<br />Deploy<br />Applikasjonen oppgraderer databasen ved oppstart<br />Deployer legger ut war på applikasjonsserver<br />Maven deployer<br />Maven oppgraderer databasen<br />Pakking<br />RPM<br />JAR<br />WAR<br />EAR<br />Automatiser hele veien fra utvikler til database<br />
  • 25. Spørsmål?<br />
  • 26. Oppsummering<br />Skap kultur for forbedring<br />Automatiser<br />Reduser kompleksitet i systemet<br />Lag/bruk verktøy som fungerer<br />Rull ut ofte!<br />Start tidlig<br />
  • 27. Til slutt<br />anders.sveen@capgemini.com<br />http://www.no.capgemini.com/teknologiblogg<br />http://blog.f12.no<br />http://twitter.com/anderssv<br />http://smidig2009.no<br />

×