CI/CD: Automatisera deploys och spara tid

Profile photo of Lucas Rosvall

Publicerad av Lucas Rosvall

Tech Lead & Co-Founder

CI/CD står för Continuous Integration och Continuous Delivery. Det är smarta processer som ständigt testar och förbereder din kod för att gå live. Detta gör att företag kan släppa uppdateringar varje dag istället för bara några gånger om året.

Continuous Integration (CI) innebär att kod integreras i ett centralt repo flera gånger dagligen med automatiska tester. Continuous Delivery (CD) tar detta ett steg längre och ser till att koden alltid är redo att sättas i produktion genom att automatisera delar av releaseprocessen.

Continuous Integration (CI)

Continuous Integration (CI) handlar om att ofta lägga till ny kod i ett gemensamt arkiv. Det sker ofta flera gånger om dagen. Det vanligaste verktyget är Git, som hjälper till att hålla ordning på alla kodändringar. Git används ofta tillsammans med tjänsten GitHub.

En stor fördel med GitHub är alla de smarta verktyg som finns där. Via GitHub Actions kan utvecklare till exempel köra tester helt automatiskt. Det säkrar att den nya koden håller hög kvalitet och inte skapar nya problem.

CI är alltså viktigt för att snabbt kunna leverera bra kod. Det gör det lättare att både hitta och laga fel tidigt.

Continuous Delivery (CD)

Continuous Delivery (CD) tar vid där CI slutar. Medan CI fokuserar på att testa koden, ser CD till att koden alltid är redo att gå live. Det innebär att man automatiserar stegen fram till lansering.

Det är viktigt att inte blanda ihop Continuous Delivery med Continuous Deployment. I båda fallen förbereds koden för produktion. Men "Delivery" kräver att en människa trycker på knappen för att släppa koden, medan "Deployment" skickar ut den helt automatiskt.

Fördelen med CD är att företag kan jobba snabbare. Om ni hittar ett fel eller vill släppa en ny funktion, kan det ske direkt. Detta ger en stor fördel på marknaden eftersom ni kan svara på kundernas behov omedelbart.

Fördelar med Continuous Integration och Delivery

  • Snabbare leveranscykler: Istället för månadsvisa eller kvartalsvisa uppdateringar kan företag som använder CI/CD ofta släppa ny funktionalitet varje vecka, eller till och med dagligen. Ett företag som tidigare tog en månad att genomföra en ny funktion kan nu göra det inom några dagar tack vare automatiserade tester och leveranser.
  • Högre mjukvarukvalitet: Med CI utförs tester automatiskt varje gång ny kod läggs till. Därmed upptäcks buggar snabbare och kan åtgärdas innan de når produktion. Istället för att upptäcka fel när kunderna redan använder produkten, fixas de redan under utvecklingsfasen.
  • Färre mänskliga fel: Istället för att en utvecklare manuellt ska flytta kod till produktion, vilket kan leda till mänskliga fel, automatiseras denna process med CD. Detta minskar risken för fel, som när någon glömmer en viktig konfigurationsfil eller använder fel version av en databas.
  • Flexibilitet att anpassa sig till förändringar: Om marknaden plötsligt efterfrågar en ny funktion, kan ett företag som använder CI/CD snabbt svara på detta behov. De kan snabbt utveckla, testa och lansera den nya funktionen utan att behöva vänta på nästa stora uppdatering.
  • Bättre samarbete mellan utvecklare och drift: CI/CD bygger vanligtvis broar mellan utvecklings- och driftteam. Istället för att kasta koden "över väggen" och hoppas att den fungerar, arbetar dessa team tillsammans för att säkerställa en smidig övergång från utveckling till produktion. Detta leder till ökad förståelse och effektivitet inom hela organisationen.

Vad är skillnaden mellan CI/CD och DevOps?

Om man läser om CI/CD kan det låta som att CI/CD och DevOps är ungefär samma sak, så vad är egentligen skillnaden? Låt oss titta närmare på detta.

CI/CD ligger nämligen i hjärtat av teknisk programvaruleverans, och dess kärna handlar om att:

  • Fokusera på kod och automatisering: Med CI/CD siktar vi på att kontinuerligt och effektivt integrera ny kod till det befintliga systemet, och att automatiskt förbereda koden för att sättas i produktion.
  • Resultat: CI/CD möjliggör för företag att på ett pålitligt sätt snabbt implementera programvaruuppdateringar.

Å andra sidan fokuserar DevOps mer på den kulturella och processinriktade sidan av saker:

  • Fokus på människor och processer: Medan CI/CD kretsar kring tekniska prestationer, syftar DevOps mer på att optimera samarbetet mellan de team som utvecklar programvaran och de som ansvarar för dess drift.
  • Resultat: Genom att skapa en bro mellan utveckling och drift kan företag smidigare leverera kvalitativ programvara, vilket minimerar driftsavbrott och förbättrar den övergripande produktkvaliteten.

Detta betyder i sin tur att CI/CD ofta fungerar som ryggraden i den tekniska implementeringen av en bredare DevOps-strategi.

Medan CI/CD adresserar vi utmaningar med skapar en mer automatiserad kod leverans, medan med DevOps ser vi till att hela ekosystemet, från programmerare till testare, samarbetar effektivt genom hela livscykeln av produktleveransen.

Fler artiklar

Internt team eller techbyrå? Vad är egentligen bäst?

Ska ni bygga internt eller anlita byrå? Ärlig guide om vad som krävs, dolda kostnader och hur ni fattar rätt beslut för er organisation.

Fortsätt läsa

Är LLM-baserade system verkligen redo för produktion?

Bara 10% av GenAI-projekt når produktion. Lär dig varför det är så svårt att ta LLM-baserade system från demo till produktion och vad som krävs för at...

Fortsätt läsa

Nyfiken på nästa steg?

Berätta om din idé eller ditt projekt. Vi återkommer snabbt och ser hur vi kan hjälpa dig vidare. Tveka inte att höra av dig, vi är alltid nyfikna på nya samarbeten!

Kontor


  • Järntorget 8
    413 04 Göteborg