briefcase-business Created with Sketch. building-industry Created with Sketch. Slice 1 Artboard Created with Sketch. document-writing Created with Sketch. image/svg+xml Group 5 Created with Sketch. helmet-hardhat Created with Sketch. image/svg+xml shop-building Created with Sketch. tall-building Created with Sketch. TrumfForsikringSvart@1x Created with Sketch. Group Created with Sketch. image/svg+xml

code > commit > deploy

I Frende Forsikring kjører vi Continuous Delivery på alle våre egenutviklede applikasjoner, tjenester og API-er. Continuous Delivery innebærer at alle endringer man gjør i koden trigger bygg og kjøring av enhetstester. Dersom dette går bra vil den aktuelle applikasjonen eller tjenesten automatisk bli deployet til testmiljøene. Når koden er deployet til alle våre testmiljøer er endringen klar for produksjon. Deploy til produksjon vil ikke skje av seg selv, men vil være manuell i form av en one-click deployment. 

Drar man Continuous Delivery enda et hakk videre vil man ende opp med Continuous Deployment, som er likt som beskrevet over, men den eneste forskjellen er at deployment til produksjon går av seg selv, man trenger ikke manuelt sette denne i gang. 
I Frende Forsikring er man per nå fornøyde med å måtte manuelt sette i gang deployment til produksjon, da vi ønsker å holde kontroll på tidspunktet vi kjører ut endringer i produksjon. Vi har rigget oss slik til at vi kan prodsette når som helst, også midt i arbeidstiden, så har vi ingen begrensinger på det tidspunkt og prodsetter gjerne flere ganger daglig.

Continuous Delivery gir flere fordeler i arbeidsdagen:

  • I og med at man prodsetter ofte, vil man deploye få endringer. Skulle man være uheldig å ha introdusert en feil i systemet, er det enklere å finne feilen i et mindre antall endringer. Har man da gode og automatiserte prosesser for tilbakerulling kan man rulle tilbake endringen mens man fikser feilen.
  • Veien fra idé til produksjon er kort. Man gjør endringene, sjekker inn koden, og den vil være ute i miljøene innen meget kort tid. Dette gjør at man kan respondere kjapt på endringer i marked, forretningsstrategi og lignende. I tillegg så er kosten med å prøve ut nye forretningskonsepter mindre.
  • De ansatte kan bruke mer tid på utvikling og mindre tid på deploy og feilrettinger.

Dersom slike prosesser også integreres med arbeidsmetoder, som for eksempel Kanban, kan man få enda bedre utnyttelse av sine ressurser og ansatte. 


For å løse Continuous Delivery i Frende har vi satt opp en CI-server, med tilhørende byggagenter, som tar seg av bygging og kjøring av tester, og deploy av applikasjoner og tjenester til sine servere.
Vi har valgt TeamCity som programvare for CI-serveren. For deployment av applikasjoner og tjenester bruker vi ConDep, som er en DSL for å enkelt kunne deploye til Windows servere.
I tillegg har vi lastbalanserer foran alle våre applikasjoner, som hjelper oss å deploye når vi vil, selv i arbeidstiden.
Vi benytter de samme prosessene og verktøyene for å sette opp våre servere. Det vil si at skal du gjøre endringer på en server, må du gjøre det i kildekode. Dette medfører at vi har historikk i kildekontrollsystemet for oppsett av både servere og applikasjoner. Dette er veldig verdifullt for oss.