Continuous Integration (CI)
Automatisk integration af kodeændringer i et delt repository flere gange dagligt.
Continuous Integration (CI) er en grundlæggende DevOps-praksis, hvor udviklere regelmæssigt merger deres kodeændringer ind i et centralt repository. Hver merge udløser automatisk en build- og testproces, der hurtigt identificerer fejl og konflikter.
Kernen i CI er ideen om, at hyppig integration reducerer risikoen for store, komplekse merge-konflikter. I stedet for at arbejde isoleret i uger og derefter forsøge at samle alt, integrerer teamet kode flere gange om dagen. Det kræver et robust automatiseret testsystem, der kan validere ændringerne hurtigt.
En typisk CI-pipeline starter med, at en udvikler pusher kode til et versionskontrolsystem som Git. Det udløser en automatisk build, hvor koden kompileres og unit tests køres. Hvis alt passerer, er ændringen klar til næste trin. Fejler en test, får udvikleren øjeblikkeligt besked og kan rette fejlen, mens konteksten stadig er frisk.
CI-servere som Jenkins, GitHub Actions, GitLab CI og CircleCI orkestrerer denne proces. De overvåger repositoryet for ændringer og eksekverer foruddefinerede pipelines. Moderne CI-systemer tilbyder parallelisering, caching og distribuerede builds for at holde feedback-loopet kort.
Best practices for CI inkluderer at holde builds hurtige (under 10 minutter er ideelt), skrive omfattende automatiserede tests, bruge feature flags til at separere deployment fra release, og sikre at main-branch altid er i en deploybar tilstand. Et sundt CI-setup er fundamentet for alt videre DevOps-arbejde.