continuous integration devops
Hva er kontinuerlig integrasjon i DevOps?
Så langt har vi dekket del 1 og del 2 av dette emnet i våre tidligere økter og for øyeblikket i del 3.
selen intervju spørsmål og svar pdf
Fram til del 2 dekket vi om menneskene og prosessaspektet av DevOps, som er samarbeid og fokus på det felles målet, felles tankesett og felles tenkning i teamet som hjelper til å oppnå målene med DevOps.
I vår siste opplæring fikk vi kunnskap om Hvordan utvikle samarbeid i DevOps .
Sjekk ut => Ultimate Guide på DevOps
Kontinuerlig integrasjon, kontinuerlig testing, kontinuerlig implementering og kontinuerlig levering er de viktigste tekniske aspektene ved DevOps.
VIDEO Del 3 Blokk 1: Kontinuerlig integrasjon- 12 minutter og 20 sekunder
Transkripsjon:
I den sistedel, vi har lært praksis i DevOps der vi lærte hvilke deler av smidige prinsipper som er vedtatt av DevOps praksis.
Hvordan oppnås målene for DevOps gjennom disse prinsippene?
Vi har studert viktigheten av versjonskontroll, automatisering og levering av små verdistigninger til kundene og fordelene.
Hva er samarbeid i sammenheng med DevOps og hvordan oppnår vi det?
Så langt snakket vi om menneskene og prosessaspektet av DevOps, det vil si samarbeid og fokus på et felles mål og felles tankesett og felles tenkning i teamet som hjelper til å oppnå målene med DevOps. La oss nå lære om få tekniske aspekter av DevOps , som gjør en DevOps-utgivelse mulig.
De er kontinuerlig integrasjon, kontinuerlig levering og distribusjon og kontinuerlig testing.
Som en del av blokk 1 i del 3, la oss først studere 'Kontinuerlig integrering'.
Hva er kontinuerlig integrasjon?
Kontinuerlig integrasjon -> CI -> sett med prosesser -> Bygg rørledning / CI-rørledning
Kontinuerlig integrasjon, kort tid kalt 'CI' i DevOps, er en viktig prosess eller et sett med prosesser som er definert og utført som en del av en rørledning kalt 'Build Pipeline' eller 'CI Pipeline'.
Vi vet at i DevOps-praksis har vi et enkelt versjonsstyringsverktøy for både utviklings- og operasjonsteam, der alles kode vil bli deponert som en hovedkodebase, og dette gjør at teamet kan jobbe parallelt.
Så, kontinuerlig integrering i DevOps er ikke annet enn å slå sammen individuelle utviklerkoder i hovedkopien av koden til hovedgrenen der versjonskontroll opprettholdes. Det er ingen begrensning på antall ganger for kodesammenslåing som må skje på en dag.
Når og når utvikleren sjekker inn koden sin til versjonskontrollen, starter prosessen med CI kick umiddelbart.
hash-tabell c ++ eksempel
CI-prosessen inkluderer,
- Sammenslåing av alle utviklerkoder til hovedlinjen,
- Utløser et bygg,
- Kompilering av koden og bygging og ... sist
- Gjennomføring av enhetstesten.
Så, kontinuerlig integrasjon er en prosess for å slå sammen all utviklerkoden til et sentralt sted og validere hver av deres sammenslåinger med en automatisk bygging og test.
For å forklare teknisk hva som skjer under CI er,
Det vil være en server for kontinuerlig integrasjon som er vert for CI-verktøy , som fortsetter å se på versjonskontrollverktøyet for kodesjekkingen, og så snart en innsjekking er funnet, utløser den automatiserte kompilering, bygger og kjører enhetstesting sammen med statisk kodeanalyse og et grunnleggende nivå av automatisert sikkerhetstesting .
De forskjellige verktøyene for å utføre automatisert testing, som Jenkins, TestNG, NUnit for å utføre enhetstesting, Sonar for å utføre statisk kodeanalyse og styrke for å utføre sikkerhetstesting, alle disse verktøyene vil bli integrert med CI-rørledningen .
Så, den komplette CI-rørledningen er en automatisert prosess uten manuell inngrep og kjører i løpet av få sekunder eller minutter.
Så den største fordelen med CI er den raske tilbakemeldingen som utviklerne får på kort tid.
- CI kjører etter at utvikleren sjekker inn koden og kaster ut resultatene på få sekunder. Så det lar utviklerne få vite umiddelbart om hans eller hennes kode har blitt bygget eller ødelagt.
- Det lar også utvikleren vite om koden hans har blitt integrert med den andres kode eller ødelagt, noe som et annet teammedlem har gjort med en annen del av kodebasen. Derfor gjør CI den raskere kodeanalysen og gjør den senere sammenslåingen enklere og feilfri.
Så CI er en automatisert prosess der build blir utløst med hver kodeinnsjekking, blir samlet, lager build og automatiserte enhetstester kjøres på build.
Vi kan også kalle CI som COP eller prosess for å sjekke om alles kode i teamet er en god eller gyldig kode eller ikke, fordi CI-prosessen umiddelbart kompilerer og bygger med hver innsjekking og kaster feil hvis det er en dårlig kode, eller det kan ikke kompileres eller kan ikke komme gjennom automatiserte enhetstesttilfeller.
Hva er fordelene med CI?
Først og fremst er hele CI-prosessen en automatisert prosess og minimerer dermed menneskelig feil ved å redusere de lange, bug-inducerende manuelle sammenslåingene.
Et hvilket som helst antall personer kan sjekke inn koden sin, når som helst på en dag, uten å vente på at andre skal fullføre kodingen, vente til de er ferdig med innsjekkingen og senere innsjekking. Så, CI fjerner avhengighet eller fjerner ventetiden til andre som sjekker inn.
Dermed trenger ikke teammedlemmer å vente på at de andre teammedlemmene skal fullføre innsjekkingen og dermed tillate å jobbe parallelt.
Hver innsjekking stopper bare ikke ved å bli samlet inn ved versjonskontrollen, men blir umiddelbart kvalifisert gjennom byggformasjonen og automatisert testing. Så hver innsjekking er validert ved selve roten for videre behandling.
Det er ingen sjanse til å savne noen koder fordi alles kode er sjekket inn i hovedkopien med tidsstempelet og dermed riktig registrert.
Hele prosessen med å kompilere, bygge og teste går på få sekunder og dermed ganske raskere og raskere og sparer mye tid og hjelper dermed til å oppnå DevOps-målet om å levere raskere over en periode på få timer.
Siden hele prosessen med å bygge og teste går over noen sekunder til minutter, er tilbakemeldingen på enkeltpersoners kode veldig rask, og vi trenger ikke å løpe rundt for å finne ut hvis kode har ødelagt bygningen eller indusert feilen, som med alle innsjekking gir suksess eller feilutgang som indikerer feilområdet hvis det er en feil.
Så dette gjør at utvikleren kan sjekke inn den lille mengden kode med jevne mellomrom, kanskje til og med en enkelt kodelinje, for å sikre at den er feilfri og får utvikleren til å ha tillit til at koden deres er god og heller ikke bryter andre kode. Så dette bidrar totalt til å forbedre kvaliteten på koden.
La oss ta en pause her og la oss plukke opp kontinuerlig levering og kontinuerlig testing i de kommende videoopplæringene.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Kontinuerlig levering i DevOps
- Kontinuerlig distribusjon i DevOps
- Kontinuerlig testing i DevOps
- Hvordan utvikle samarbeid i DevOps Teams
- DevOps Tutorial: The Ultimate Guide to DevOps (25+ Tutorials)
- Sammendrag av DevOps Video Tutorials
- Samarbeid i DevOps
- Topp 10 kontinuerlige testverktøy for DevOps-testing [2021 List]