IT Ordbog
Hvad er CI/CD?
CI/CD (Continuous Integration/Continuous Deployment) automatiserer test og udrulning af software. Det gør det muligt at levere opdateringer til produktion hurtigt, sikkert og pålideligt — flere gange om dagen i stedet for månedligt.
Hvad er CI/CD?
CI/CD er en samling af praksisser der automatiserer softwarelevering: CI (Continuous Integration) — udviklere integrerer kodeændringer hyppigt (flere gange dagligt) i et fælles repository. Hver integration udløser automatiske tests og kvalitetstjek. CD har to betydninger: Continuous Delivery — kode er altid klar til produktion efter automatiske tests, men deployment kræver manuel godkendelse. Continuous Deployment — kode deployes automatisk til produktion efter beståede tests, uden manuel intervention.
Sådan fungerer en CI/CD pipeline
En typisk CI/CD pipeline: 1) Udvikler pusher kode til Git repository, 2) CI-server (GitHub Actions, GitLab CI, Jenkins) detekterer ændringen, 3) Koden bygges (compile/bundle), 4) Automatiske tests køres (unit tests, integration tests, linting), 5) Kodeanalyse (sikkerhedsscanning, kodekvalitet), 6) Artefakter bygges (Docker image, build output), 7) Deployment til staging-miljø for review, 8) Automatisk eller manuel deployment til produktion. Fejl i ethvert trin stopper pipelinen og notificerer teamet.
CI/CD-værktøjer
Populære CI/CD-platforme: GitHub Actions (integreret med GitHub, vores foretrukne), GitLab CI (built-in i GitLab), Jenkins (open-source, selvhostet), CircleCI (cloud-baseret), Azure DevOps (Microsoft-økosystem), og Vercel (automatisk deployment for Next.js). For Next.js-projekter er Vercel den mest friktionsfri løsning: hvert Git push udløser automatisk build, preview deployment for pull requests, og produktion-deployment ved merge til main. Hos Grumsen Development bruger vi GitHub Actions og Vercel.
Hvorfor er CI/CD vigtigt?
CI/CD er fundamentet for moderne softwareudvikling: det reducerer risikoen ved deployments (små, hyppige ændringer vs. store, sjældne), fanger fejl tidligt (automatiske tests), sikrer kodekvalitet (linting, formattering, type-tjek), giver hurtigere feedback til udviklere, og muliggør hurtig levering af nye features og fejlrettelser. For virksomheder betyder CI/CD hurtigere time-to-market, højere softwarekvalitet og lavere vedligeholdelsesomkostninger.