Udforsk fortløbende integration
Kontinuerlig integration (CI) er et af de mest grundlæggende DevOps-elementer. Det fremmer samarbejde, bidrager til tidlig registrering af problemer med kodekvalitet og drager fordel af den strømlinede udviklingsproces. Det fungerer også som grundlaget for kontinuerlig levering og udrulning. Ved at anvende CI-praksisser vil den organisation, der er beskrevet i vores eksempelscenarie, kunne eliminere den manuelle indsats, der er involveret i at bygge og teste dens programmer, og fremskynde deres levering til deres brugere effektivt. For at hjælpe dig med at få fuld forståelse af CI-fordele beskriver vi dem i dette undermodul.
Hvad er kontinuerlig integration?
Kontinuerlig integration er processen med automatisk at bygge og teste opdaterede versioner af software efter individuelle opdateringer til softwarelageret. Generelt omfatter integrationsmønsteret udviklere, der indsender deres ændringer i separate forgreninger via pullanmodninger. Ændringerne er underlagt en kollektiv gennemgang, og hvis det lykkes, flettes de til hovedgrenen. Individuelle bekræftelses- eller flettehændelser kan bruges til at udløse kodeoprettelse og -test for at sikre, at foreslåede eller resulterende ændringer ikke har negative virkninger. Med løbende integration på plads er buildet og testene fuldt automatiseret.
Denne automatisering er baseret på build- og testdefinitioner, der er oprettet af udviklere og implementeret i lagerværtsplatformen. GitHub tilbyder f.eks. gitHub-handlinger til dette formål, mens Azure DevOps er afhængig af Azure Pipelines.
Hvad er fordelene ved kontinuerlig integration?
De primære fordele ved kontinuerlig integration er baseret på den generelle strategi for skift til venstre, som (som du finder ud af senere i dette modul) også påvirker mange andre DevOps-fremgangsmåder. Den grundlæggende forudsætning er, at jo længere tid det tager at registrere et problem, der introduceres via en kodeændring, jo dyrere og mere besværligt er det at løse det. Med løbende integration finder kodeoprettelse og -test sted så hurtigt som muligt. De implementeres også automatisk, hvilket øger deres hastighed og pålidelighed. Kontinuerlig integration forbedrer konsistensen og sikrer, at builds og test udføres på en reproducerbar måde. Denne konsistens hjælper til gengæld med at gennemtvinge programmeringsstandarder, hvilket resulterer i renere og nemmere at vedligeholde kode. Sidst, men ikke mindst, er kontinuerlig integration typisk en del af kontinuerlig levering, hvilket strømliner hele administrationen af programlivscyklus. Minimering af de omkostninger, der er forbundet med vedligeholdelse af build-, test- og udrulningsaktiviteter, øger den overordnede produktivitet i udviklings- og driftsteams, hvilket reducerer tid til marked for softwareprodukter.