Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CD @ MVNO @ Telenor DK 
från långsamhet och frustration till snabbhet och arbetsglädje
Martin Rosén-Lidholm 
utvecklingschef 
Christian Hollerup Mikkelsen 
seniorutvecklare
Problem 
• Komplex semimanuell utgivningsprocess med t.ex. manuella merges 
• Lång utgivningsprocess (ca. 1,5 t) 
• Hela s...
Working Review Test Production 
Uppgift
Working 
Uppgift 
checkout -b uppgift 
commit + push 
Triggar följande automatiska process: 
• Bygger och kör regressionst...
Working Review Test Production 
Uppgift
Review 
Uppgift 
granska commit 
beskriv önskad 
ändring 
«automatiskt» 
upprätta ’task’ i 
’Uppgift’ 
anmärkning/-ar 
åte...
Working Review Test Production 
«ready» 
Uppgift
Working Review Test Production 
Uppgift
Test 
Uppgift 
genomgå ’Uppgift’ 
ej anmärkning/-ar 
flytta ’Uppgift’ till 
’Production’ 
anmärkning/-ar 
flytta ’Uppgift’...
Working Review Test Production 
Uppgift
Production 
Uppgift 
flytta ’Uppgift’ till 
’working’ med 
kommentarer 
«automatiskt» 
merge 
gick bra 
«automatiskt» 
dep...
Production 
Uppgift 
Mätningar 
Sentry 
Egen prestandalogg okej  
ej okej 
ny uppgift i backloggen 
på tavlan 
Batch-jobb...
Problem nu och då 
• Komplex semimanuell utgivningsprocess med t.ex. manuella merges 
Enkel automatiserad utgivningsproces...
Verktygslåda 
Git 
GitHub 
AppVeyor 
Octopus Deploy 
Slack + Hubot 
AgileZen 
Chrome Extensions 
NuGet 
Eget klister
Referenser 
BoundedContext 
#continuousdelivery @/#leanstartup #lean #kanban #microservices 
#ddd #git @/#github @/#appvey...
Upcoming SlideShare
Loading in …5
×

Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

526 views

Published on

Presentation hållen vid Lean Tribe Gathering 24 i Växjö 20 november 2014.

Published in: Leadership & Management
  • Be the first to comment

  • Be the first to like this

Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

  1. 1. CD @ MVNO @ Telenor DK från långsamhet och frustration till snabbhet och arbetsglädje
  2. 2. Martin Rosén-Lidholm utvecklingschef Christian Hollerup Mikkelsen seniorutvecklare
  3. 3. Problem • Komplex semimanuell utgivningsprocess med t.ex. manuella merges • Lång utgivningsprocess (ca. 1,5 t) • Hela systemet byggt och utgivet som en monolit • Två stora tungjobbade Visual Studio-lösningar (upp till 80 projektfiler) • Försök att automatisera acceptanstester har misslyckats (SBE, SpecFlow, Selenium, ...)
  4. 4. Working Review Test Production Uppgift
  5. 5. Working Uppgift checkout -b uppgift commit + push Triggar följande automatiska process: • Bygger och kör regressionstester på byggservern • Skapar NuGet-pkg • NuGet-pkg i AppVeyor-feed • NuGet-feed betraktas som test-feed deploy till utv.server färdig ej färdig pull request Detta steg utförs ibland då bygg och deploy är en del av lösningen och källkoden för en mikroservice.
  6. 6. Working Review Test Production Uppgift
  7. 7. Review Uppgift granska commit beskriv önskad ändring «automatiskt» upprätta ’task’ i ’Uppgift’ anmärkning/-ar återstående commits flytta ’Uppgift’ till ’working’ ej anmärkning/-ar markera ’Uppgift’ som ’ready to pull’ anmärkning/-ar «automatiskt» uppdatera ’Uppgift’ vid byggfel
  8. 8. Working Review Test Production «ready» Uppgift
  9. 9. Working Review Test Production Uppgift
  10. 10. Test Uppgift genomgå ’Uppgift’ ej anmärkning/-ar flytta ’Uppgift’ till ’Production’ anmärkning/-ar flytta ’Uppgift’ till ’working’ med kommentarer «automatiskt» deploy:a förra versionen
  11. 11. Working Review Test Production Uppgift
  12. 12. Production Uppgift flytta ’Uppgift’ till ’working’ med kommentarer «automatiskt» merge gick bra «automatiskt» deploy:a till prod.server «automatiskt» deploy:a förra versionen gick inte bra «automatiskt» stäng pull request
  13. 13. Production Uppgift Mätningar Sentry Egen prestandalogg okej  ej okej ny uppgift i backloggen på tavlan Batch-jobbloggar Olika driftsloggar
  14. 14. Problem nu och då • Komplex semimanuell utgivningsprocess med t.ex. manuella merges Enkel automatiserad utgivningsprocess. Auto-merge (eller varning). • Lång utgivningsprocess (ca. 1,5 t) Snabb utgivningsprocess (minuter) • Hela systemet är byggt och utges som en monolit Många självständiga mikroservisar/bounded contexts • Två stora tungjobbade Visual Studio-lösningar (upp till 80 projektfiler) Många lösningar, inte nödvändigvis Visual Studio • Försök att automatisera accepttester har misslyckats (SBE, SpecFlow, Selenium, ...) Lätt att implementera accepttester utan ballasten från det förgångna • Nytt problem! Hur kommunicera optimalt? (Nu: NServiceBus. Imorgon: Kafka?)
  15. 15. Verktygslåda Git GitHub AppVeyor Octopus Deploy Slack + Hubot AgileZen Chrome Extensions NuGet Eget klister
  16. 16. Referenser BoundedContext #continuousdelivery @/#leanstartup #lean #kanban #microservices #ddd #git @/#github @/#appveyor @/#octopusdeploy

×