Utforsk kontinuerlig integrasjon

Fullført

Kontinuerlig integrasjon (CI) er et av de mest grunnleggende DevOps-elementene. Det fremmer samarbeid, bidrar til tidlig påvisning av problemer med kodekvalitet og fordeler den strømlinjeformede utviklingsprosessen. Det fungerer også som grunnlaget for kontinuerlig levering og distribusjon. Ved å bruke CI-praksisen vil organisasjonen som er beskrevet i eksempelscenariet vårt, kunne eliminere den manuelle innsatsen som er involvert i å bygge og teste programmene, noe som effektivt fremskynder leveringen til brukerne. For å hjelpe deg med å få full forståelse av CI-fordeler, vil vi beskrive dem i denne enheten.

Hva er kontinuerlig integrering?

Kontinuerlig integrasjon er prosessen med automatisk bygging og testing av oppdaterte versjoner av programvare etter individuelle oppdateringer av programvarerepositoriet. Generelt sett innebærer integreringsmønsteret at utviklere sender inn endringene sine i separate grener via pull-forespørsler. Endringene er gjenstand for en kollektiv gjennomgang og, forutsatt at det vellykkede resultatet, slås sammen til hovedgrenen. Individuelle utførings- eller flettehendelser kan brukes til å utløse kodebygging og -testing for å sikre at foreslåtte eller resulterende endringer ikke har negative effekter. Med kontinuerlig integrasjon på plass, er bygget og testene fullstendig automatisert.

diagram over den kontinuerlige integreringsflyten.

Denne automatiseringen er basert på bygg- og testdefinisjoner som er opprettet av utviklere og implementert i vertsplattformen for repositoriet. GitHub tilbyr for eksempel GitHub Actions-arbeidsflyten for dette formålet, mens Azure DevOps er avhengig av Azure Pipelines.



Hva er fordelene med kontinuerlig integrering?

De primære fordelene forbundet med kontinuerlig integrasjon er basert på den generelle skift-venstre-strategien, som (som du finner ut senere i denne modulen) også påvirker mange andre DevOps-praksiser. Det grunnleggende premisset er at jo lengre tid det tar å oppdage et problem introdusert gjennom en kodeendring, jo dyrere og mer innsats forbruker det er å fikse det. Med kontinuerlig integrering finner kodebygging og testing sted så snart som mulig. De implementeres også på en automatisert måte, noe som øker hastigheten og påliteligheten. Kontinuerlig integrering forbedrer konsistensen, slik at bygg og tester utføres på en reproduserbar måte. Denne konsistensen bidrar igjen til å håndheve programmeringsstandarder, noe som resulterer i renere og enklere å vedlikeholde kode. Sist, men ikke minst, er kontinuerlig integrasjon vanligvis en del av kontinuerlig levering, noe som effektiviserer hele programmets livssyklusadministrasjon. Minimering av kostnader knyttet til vedlikehold av bygg-, test- og distribusjonsaktiviteter øker den generelle produktiviteten til utviklings- og driftsteamene, noe som reduserer tid til marked for programvareprodukter.