Kunskap & Inspiration

Vad är Continuous Integration?

Continuous Integration – kontinuerlig integration – har blivit bästa praxis för mjukvaruutveckling. Fullt logiskt med tanke på att metoden på samma gång ökar leveranskvaliteten, minskar risken och kortar den utvecklingstiden.

Men vad går den ut på? Och hur hänger den ihop med DevOps och Continuous Deployment?  

Bygga i små steg

Kontinuerlig integration är en utvecklingsmetod där flera utvecklare integrerar koden de arbetar med i ett delat arkiv ofta, helst flera gånger om dagen.

En integration innebär i det här sammanhanget att de olika programvarumodulerna som utvecklarna skapat vid en viss tidpunkt sätts samman till en helhet, en så kallad build. I praktiken kan det vara en ny release av en applikation.

Sen testas och verifieras integrationen för att kontrollera att programvaran fungerar som den ska, det vill säga lever upp till kravspecifikationen. Helst ska hela processen – att integrera, testa och verifiera programvaran – vara automatiserad.

Genom att integrera och testa programvaran regelbundet kan fel upptäckas och lokaliseras snabbt och i ett tidigt skede. Eftersom varje införd ändring är relativt liten kan man snabbt identifiera den specifika förändringen som orsakar felet.

Eftersom varje iteration av produkten innehåller få förändringar är risken låg – det finns inte så mycket som kan ställa till det. Problemen identifieras och åtgärdas innan de hinner påverka kundupplevelsen – för det vill vi ju inte vara med om.

Dynamics 365 DevOps

Perfekt för DevOps

Metoden passar företag som anammat arbetssättet DevOps och arbetar agilt som hand i handske. Att släppa programvara i korta cykler är i centralt i DevOps, inte bara för att det minskar risken för att fel ska multipliceras, utan också för att det underlättar planeringen. Det gör det också lättare att snabbt anpassa sig till nya kundbehov och bemöta konkurrens.

Kontinuerlig integration bygger liksom DevOps på att testningen automatiseras så långt som möjligt.  Att koden delas ofta möjliggör dessutom större transparens och närmare samarbete, två av DevOps hörnstenar.

Vill du bli uppdaterad på DevOps kan du läsa vår artikel Vad är DevOps?

Continuous Delivery och Deployment

Metoden används ofta tillsammans med Continuous Delivery och Continuous Deployment, som – tro det eller ej – också har hunnit bli bästa praxis.

Continuous Delivery – kontinuerlig leverans – innebär att programkoden levereras kontinuerligt till en viss miljö, när utvecklaren anser den vara klar. Det kan vara en testmiljö (för så kallad staging) eller en produktionsmiljö.

Continuous Deployment – kontinuerlig driftsättning – syftar på att den senaste releasen av mjukvaran alltid är tillgänglig och redo att sättas i produktion. Processen säkerställer att programvaran kontinuerligt uppfyller kraven och är rätt konfigurerad. Så fort den testats kan användarna ta den i bruk och ge värdefull återkoppling.  

Arbetsflöde Continuous Integration
Arbetsflöde Continuous Integration
källa: https://www.cloudbees.com/continuous-delivery/continuous-integration

Tre goda skäl för kontinuerlig utveckling

Programvaran är på det här sättet produktionsklar under hela sin livscykel. Varje ny integration – build – kan på så vis släppas till användarna med en knapptryckning inom sekunder eller minuter, genom en helautomatisk process.

Utvecklingsteamet kan ha kvar kakan och äta den – det vill säga både få mer gjort och höja kvalitetsnivån.

Avslutningsvis ska du få tre goda skäl att satsa på kontinuerlig integration:

  1. Minskad affärsrisk genom små utvecklingssteg och automatiserad process.
  2. Bättre kommunikation och närmare samarbete i projekten genom att koden delas regelbundet.
  3. Snabbare feedback från användare och kunder genom täta releaser.

Gav det här mersmak? Vill du veta mer om Continuous Integration eller hur du kan göra utvecklingsarbetet effektivare, hör av dig.

Dela med dig

Relaterat innehåll