från långsamhet och frustration till snabbhet och arbetsglädje | martin rosén-lindholm &...

Post on 02-Jul-2015

157 Views

Category:

Leadership & Management

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

CD @ MVNO @ Telenor DKfrån långsamhet och frustration till snabbhet och arbetsglädje

Martin Rosén-Lidholmutvecklingschef

Christian Hollerup Mikkelsenseniorutvecklare

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, ...)

Working Review Test Production

Uppgift

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.

Working Review Test Production

Uppgift

Review

Uppgift

granska commit

beskriv önskadändring

«automatiskt»

upprätta ’task’ i’Uppgift’

anmärkning/-ar

återståendecommits

markera ’Uppgift’ som’ready to pull’

flytta ’Uppgift’ till’working’

ej anmärkning/-ar

anmärkning/-ar

«automatiskt»uppdatera ’Uppgift’ vid byggfel

Working Review Test Production

«ready»

Uppgift

Working Review Test Production

Uppgift

Test

Uppgift

genomgå ’Uppgift’

ej anmärkning/-ar

flytta ’Uppgift’ till’Production’

flytta ’Uppgift’ till’working’ medkommentarer

anmärkning/-ar

«automatiskt» deploy:a förra versionen

Working Review Test Production

Uppgift

Production

Uppgift

flytta ’Uppgift’ till’working’ medkommentarer

«automatiskt»

deploy:a till prod.server

«automatiskt»merge

gick bra

«automatiskt» deploy:a förra versionen

gick inte bra

«automatiskt» stäng pull request

Production

UppgiftMätningar

Sentry

Egen prestandalogg okej

ej okej

ny uppgift i backloggenpå tavlan

Batch-jobbloggar

Olika driftsloggar

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?)

VerktygslådaGit

GitHub

AppVeyor

Octopus Deploy

Slack + Hubot

AgileZen

Chrome Extensions

NuGet

Eget klister

top related