continuous integration devops
Vad är kontinuerlig integration i DevOps?
Hittills har vi behandlat del 1 och del 2 av detta ämne i våra tidigare sessioner och för närvarande i del 3.
bästa videospelföretag att arbeta för 2018
Fram till del 2 behandlade vi människor och processaspekter av DevOps, som är samarbete och fokus på det gemensamma målet, gemensamma tankesätt och gemensamt tänkande i teamet som hjälper till att uppnå målen för DevOps.
I vår senaste handledning fick vi kunskap om Hur man utvecklar samarbete i DevOps .
Kolla in => Ultimate Guide på DevOps
Kontinuerlig integration, kontinuerlig testning, kontinuerlig distribution och kontinuerlig leverans är de viktigaste tekniska aspekterna av DevOps.
VIDEO Del 3 Block 1: Kontinuerlig integration- 12 minuter och 20 sekunder
Transkript:
I det sistadel har vi lärt oss metoder för DevOps enligt vilka vi lärde oss vilka delar av agila principer som antas av DevOps metoder.
Hur uppnås målen för DevOps genom dessa principer?
Vi har studerat vikten av versionskontroll, automatisering och leverans av små värdesteg till kunderna och dess fördelar.
Vad är samarbete inom DevOps och hur uppnår vi det?
Hittills har vi pratat om människor och processaspekter av DevOps, det vill säga samarbete och fokus på ett gemensamt mål och gemensamt tänkesätt och gemensamt tänkande inom teamet som hjälper till att uppnå målen för DevOps. Låt oss nu lära oss om några tekniska aspekter av DevOps , vilket möjliggör en DevOps-release.
De är kontinuerlig integration, kontinuerlig leverans och distribution och kontinuerlig testning.
Som en del av block 1 i del 3, låt oss först studera 'Fortsatt integration'.
Vad är kontinuerlig integration?
Kontinuerlig integration -> CI -> uppsättning processer -> Bygg pipeline / CI Pipeline
Kontinuerlig integration, kort kallad 'CI' i DevOps är en viktig process eller en uppsättning processer som definieras och utförs som en del av en pipeline som heter 'Build Pipeline' eller 'CI Pipeline'.
Vi vet att i DevOps-praxis har vi ett enda versionskontrollverktyg för både utvecklings- och driftsteam, där allas kod kommer att deponeras som en huvudkodbas och detta gör att teamet kan arbeta parallellt.
Så, kontinuerlig integration i DevOps är ingenting annat än att slå ihop enskilda utvecklarkoder till huvudkopian av koden till huvudgrenen där versionskontroll upprätthålls. Det finns ingen begränsning av antalet gånger för kodsammanfogning som måste ske på en dag.
När och när utvecklaren kontrollerar sin kod till versionskontrollen, börjar processen med CI kick omedelbart.
dubbelkö c ++
CI-processen inkluderar,
- Sammanfogning av alla utvecklarkoder till huvudraden,
- Utlöser en byggnad,
- Kompilera koden och göra en byggnad och ... sist
- Genomföra enhetstestet.
Kontinuerlig integrering är alltså en process för att slå samman all utvecklarkod till en central plats och validera var och en av deras sammanslagningar med en automatisk byggnad och test.
Att förklara tekniskt vad som händer under CI är,
Det kommer att finnas en server för kontinuerlig integration som är värd för CI-verktyg , som fortsätter att titta på versionskontrollverktyget för kodincheckningen och så snart en incheckning hittas, utlöser den automatiserade sammanställningen, bygger och kör enhetstestning tillsammans med statisk kodanalys och en grundläggande nivå av automatiserad säkerhetstestning .
De olika verktygen för att utföra den automatiska testningen, som Jenkins, TestNG, NUnit för att utföra enhetstester, Sonar för att utföra statisk kodanalys och förstärka för att utföra säkerhetstestning, alla dessa verktyg kommer att integreras med CI-pipeline .
Så, den fullständiga CI-pipelinen är en automatiserad process utan manuellt ingripande och körs inom några sekunder eller minuter.
Så den största fördelen med CI är den snabba feedback som utvecklarna får på nolltid.
- CI körs efter att utvecklaren kontrollerar koden och slänger ut resultaten på några sekunder. Så det låter utvecklarna veta omedelbart om hans eller hennes kod har framgångsrikt byggts eller brutits.
- Det låter också utvecklaren veta om hans kod framgångsrikt har integrerats med den andras kod eller brutit, något som en annan teammedlem har gjort till en annan del av kodbasen. Därför gör CI snabbare kodanalys och gör den senare sammanslagningen enklare och felfri.
Så CI är en automatiserad process, där builden utlöses med varje kodincheckning, sammanställs, skapar build och automatiserade enhetstester körs på build.
Vi kan också kalla CI som COP eller process för att kontrollera om allas kod i teamet är en bra eller giltig kod eller inte, eftersom CI-processen, omedelbart sammanställer och bygger med varje incheckning och kastar fel om det är en dålig kod, eller det kan inte sammanställas eller kan inte komma igenom de automatiska enhetstestfallen.
Vilka är fördelarna med CI?
Först och främst är hela CI-processen en automatiserad process och därmed minimerar det mänskliga felet genom att minska de långa, bug-inducerande manuella sammanslagningarna.
Vilket antal som helst kan checka in sin kod, vilket som helst antal gånger på en dag, utan att vänta på att andra ska slutföra sin kodning, vänta tills de är färdiga med incheckningen och senare incheckning. Så, CI tar bort beroende eller tar bort väntetiden för andra checkar in.
Således behöver lagmedlemmar inte behöva vänta på att de andra gruppmedlemmarna ska slutföra incheckningen och därmed tillåta att arbeta parallellt.
Varje incheckning slutar bara inte med att samlas in vid versionskontrollen utan blir omedelbart kvalificerad genom byggformationen och automatiserad testning. Så varje incheckning valideras i själva roten för vidare bearbetning.
Det finns ingen chans att missa någons kod eftersom allas kod är kontrollerad i huvudkopian med tidsstämpeln och därmed korrekt registrerad.
Hela processen med att sammanställa, bygga och testa går på några sekunder och därmed ganska snabbare och snabbare och sparar mycket tid och hjälper därmed till att uppnå DevOps-målet att leverera snabbare under en period av några timmar.
Eftersom hela processen med att bygga och testa löper över några sekunder till minuter är feedbacken på individens kod väldigt snabb och vi behöver inte springa runt för att ta reda på vars kod har brutit byggnaden eller inducerat defekten, som med alla incheckning det ger framgång eller misslyckande output som anger felområdet om det finns ett fel.
Så detta gör det möjligt för utvecklaren att kolla in den lilla mängden kod med jämna mellanrum, kanske till och med en enda kodrad, för att säkerställa att den är felfri och får utvecklaren att ha förtroende för att deras kod är bra och inte heller bryter andra koda. Så detta bidrar totalt till att förbättra kvaliteten på koden.
Låt oss pausa här och låt oss hämta kontinuerlig leverans och kontinuerlig testning i de kommande videotutorialerna.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Kontinuerlig leverans i DevOps
- Kontinuerlig distribution i DevOps
- Kontinuerlig testning i DevOps
- Hur man utvecklar samarbete i DevOps-team
- DevOps Tutorial: The Ultimate Guide to DevOps (25+ Tutorials)
- Sammanfattning av DevOps Video Tutorials
- Samarbete i DevOps
- Topp 10 kontinuerliga testverktyg för DevOps-testning (Lista 2021)