Continuous Delivery och Continuous Integration är två termer som florerar allt oftare, inte sällan tillsammans med devops och agil mjukvaruutveckling.
Men begreppen är fortfarande så pass färska att inte alla är överens om hur de bör definieras, inte minst eftersom de ibland blandas ihop med begreppen Continuous Deployment och Continuous Release.
De blir kort och gott en väldig massa continuous och ibland lite rörigt.
Så, här kommer de definitioner vi lutar oss mot och som också används av bland andra Amazon Web Services.
Continuous Delivery – en metod som automatiserar hela vägen till produktion
Continuous Delivery (CD) är en metod för mjukvaruutveckling där release-processen är automatiserad. Varje ändring i mjukvaran byggs, testas och driftsätts till produktion automatiskt. Innan sista steget tas och driftsättning sker till produktionssystemet finns en kontrollfunktion: det kan vara en person, ett automatiserat test eller en affärsregel som avgör när driftsättningen äger rum.
Även om varje lyckad mjukvaruändring, där alla tester gåtts igenom och godkänts, kan ske omedelbart till produktion med Continuous Delivery är det inte nödvändigt att alla ändringar går ut direkt.
Continuous Integration – en praktik som automatiserar byggen och tester
Continuous Integration (CI) praktiseras inom mjukvaruutveckling där medlemmar i ett utvecklingsteam använder versionshantering och integrerar sitt arbete frekvent till samma ställe, så som en master branch eller trunk.
Varje ändring byggs och verifieras med tester och andra verifikationer för att upptäcka fel så fort som möjligt. Continuous Integration är fokuserat på automatiska byggen och tester. Här finns en stor skillnad mot Continuous Delivery som automatiserar release-processen för mjukvaran hela vägen till produktion.
Continuous Integration kan alltså beskrivas som en delmängd av och en förutsättning för Continuous Delivery.
Hoppas att beskrivningen lyckades bena ut en del förvirring. Om du vill dyka längre ner i frågan rekommenderar vi den här tråden på Stack Overflow som problematiserar begreppen.
Sist men inte minst…
Vi på Lemontree har en hel del erfarenhet av att införa både metoder, processer och verktyg för att öka våra kunders förändringstakt, samtidigt som vi ökar kvaliteten i deras digitala tjänster och applikationer. Kontakta oss så berättar vi mer.