Vad är CI/CD? Skillnad, pipeline och exempel

Publicerad av Lucas Rosvall
Tech Lead & Co-Founder
CI/CD står för Continuous Integration och Continuous Delivery. Det är processer som automatiskt testar och förbereder din kod för att gå live – vilket 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.
I den här artikeln går vi igenom vad CI och CD innebär, vilka verktyg som är vanligast, hur en pipeline ser ut i praktiken och skillnaden mot DevOps.
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änster som GitHub eller GitLab.
Varje gång en utvecklare pushar ny kod körs automatiska tester. 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 och för att hitta och laga fel tidigt – innan de når kunderna.
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 – utan att vänta på nästa schemalagda release.
Hur ser en CI/CD-pipeline ut i praktiken?
En pipeline är en serie automatiserade steg som koden går igenom från att en utvecklare sparar sitt arbete till att det når produktion. En typisk pipeline ser ut så här:
- Kod pushas – Utvecklaren sparar och pushar sin kod till Git.
- Bygg – Systemet kompilerar eller bygger applikationen automatiskt.
- Automatiska tester – Enhetstester, integrationstester och eventuellt end-to-end-tester körs.
- Kodbedömning – Verktyg som SonarQube analyserar kodkvalitet och säkerhetsbrister.
- Deploy till staging – Koden driftsätts i en testmiljö som liknar produktion.
- Godkännande – (Gäller Continuous Delivery) En person granskar och godkänner.
- Deploy till produktion – Koden går live till slutanvändarna.
Om ett steg misslyckas stoppas flödet och teamet notifieras direkt – vilket förhindrar att felaktig kod når kunderna.
Populära CI/CD-verktyg
Det finns flera mogna verktyg på marknaden. Här är de vanligaste:
| Verktyg | Passar bäst för | Notering |
|---|---|---|
| GitHub Actions | GitHub-projekt | Inbyggt i GitHub, enkelt att komma igång |
| GitLab CI/CD | GitLab-projekt | Kraftfullt, bra för self-hosted |
| Azure DevOps | Microsoft-ekosystem | Bra integration med Azure-molnet |
| CircleCI | Molnbaserade team | Snabb och flexibel konfiguration |
| Jenkins | On-premise | Öppen källkod, extremt anpassningsbart |
| Bitbucket Pipelines | Atlassian-ekosystem | Passar team som använder Jira |
För de flesta moderna webbapplikationer rekommenderar vi GitHub Actions som startpunkt – det är gratis för publika repon och kräver minimal konfiguration.
Fördelar med Continuous Integration och Delivery
- Snabbare leveranscykler: Istället för månadsvisa uppdateringar kan företag som använder CI/CD släppa ny funktionalitet varje vecka, eller till och med dagligen. Enligt DORA-rapporten deployer högpresterande team 208 gånger mer frekvent än lågpresterande team.
- Högre mjukvarukvalitet: Med CI utförs tester automatiskt varje gång ny kod läggs till. Buggar upptäcks snabbare och kan åtgärdas innan de når produktion.
- Färre mänskliga fel: Istället för att en utvecklare manuellt ska flytta kod till produktion automatiseras denna process med CD. Det minskar risken för misstag som glömd konfigurationsfil eller fel databasversion.
- Flexibilitet att anpassa sig: Om marknaden efterfrågar en ny funktion kan ett CI/CD-team snabbt svara utan att vänta på nästa stora release.
- Bättre samarbete: CI/CD bygger broar mellan utvecklings- och driftteam och skapar en kultur av gemensamt ägandeskap för leveransen.
Vad är skillnaden mellan CI/CD och DevOps?
Om man läser om CI/CD kan det låta som att det och DevOps är ungefär samma sak. Men de kompletterar varandra snarare än är synonymer.
CI/CD är en teknisk praktik – en uppsättning automatiserade processer för att bygga, testa och leverera kod. Det fokuserar på vad som ska göras med koden.
DevOps är ett bredare kulturellt och organisatoriskt förhållningssätt. Det handlar om att optimera samarbetet mellan de team som utvecklar programvaran och de som ansvarar för dess drift. DevOps fokuserar på hur teamen ska arbeta tillsammans.
CI/CD fungerar alltså som ryggraden i den tekniska implementeringen av en bredare DevOps-strategi. Du kan ha CI/CD utan DevOps-kultur, men du kan inte ha ett framgångsrikt DevOps-arbete utan automatisering som CI/CD.
Vanliga frågor om CI/CD
Vad kostar det att sätta upp CI/CD?
GitHub Actions är gratis för publika repon och inkluderar 2 000 minuter per månad gratis för privata repon. GitLab CI erbjuder liknande. För de flesta mindre och medelstora team innebär CI/CD minimala direkta kostnader – tidsbesparingen är ofta betydligt mer värd än licensavgifterna.
Hur lång tid tar det att sätta upp en CI/CD-pipeline?
En grundläggande pipeline med automatiska tester och deploy kan sättas upp på 1–2 dagar av en erfaren utvecklare. En mer avancerad pipeline med staging-miljöer, säkerhetsscanningar och godkännandeflöden tar typiskt 1–2 veckor.
Behöver man CI/CD om man är ett litet team?
Ja – faktiskt kanske ännu mer. I ett litet team är varje minut värd guld och mänskliga fel vid manuell deploy kan vara katastrofala. En enkel pipeline som automatiskt kör tester och deployer till produktion ger stor trygghet och sparar tid direkt.
Vad är skillnaden mellan Continuous Delivery och Continuous Deployment?
Continuous Delivery innebär att koden alltid är redo att gå live, men en människa beslutar när den faktiskt ska deployas. Continuous Deployment tar det ett steg längre och deployer automatiskt utan mänskligt godkännande – varje kodändring som passerar alla tester går direkt till produktion.