Jenkins opplæring | Kontinuerlig integrering ved bruk av Jenkins | Edureka



Jenkins Tutorial er den andre bloggen til Jenkins bloggserier. Denne bloggen snakker om Jenkins distribuerte arkitektur og hvordan du lager et bygg ved hjelp av Jenkins.

Jenkins Tutorial

Jenkins er et av de viktigste verktøyene i . Jeg håper du har lest forrige blogg på . I denne Jenkins Tutorial-bloggen vil jeg fokusere på Jenkins-arkitektur og Jenkins bygge rørledning sammen med at jeg vil vise deg hvordan du lager en build i Jenkins.

Før vi fortsetter med Jenkins Tutorial, er hovedtakene fra forrige blogg:





  • Jenkins brukes til å integrere alle DevOps-trinnene ved hjelp av plugins.
  • Vanlige Jenkins-plugins er Git, Amazon EC2, Maven 2-prosjekt, HTML-utgiver etc.
  • Jenkins har godt over 1000 plugins og147 000 aktive installasjoner sammen med over 1 million brukere over hele verden.
  • Med kontinuerlig integrasjon gjøres alle endringer i kildekodenerbygget. Den utfører også andre funksjoner,det avhenger av verktøyet som brukes til kontinuerlig integrering.
  • Nokia skiftet fra Nightly build til Continuous Integration.
  • Prosessen før kontinuerlig integrasjon hadde mange feil. Som et resultat var ikke bare programvareleveransen treg, men kvaliteten på programvaren var heller ikke opp til merket. Utviklere hadde også en tøff tid med å finne og fikse feil.
  • Kontinuerlig integrasjon med Jenkins overvunnet disse manglene ved kontinuerlig å utløse en build og test for alle endringer i kildekoden.

Nå er det riktig tidspunkt å forstå Jenkins arkitektur.

Jenkins Architecture

La oss revidere den frittstående Jenkins-arkitekturen som jeg har forklart deg i , under diagrammet viser det samme.



Jenkins frittstående arkitektur - Hva er Jenkins - Edureka

Denne eneste Jenkins-serveren var ikke nok til å oppfylle visse krav som:

  • Noen ganger kan det hende du trenger flere forskjellige miljøer for å teste byggene dine. Dette kan ikke gjøres av en enkelt Jenkins-server.
  • Hvis større og tyngre prosjekter blir bygget regelmessig, kan ikke en enkelt Jenkins-server bare håndtere hele belastningen.

For å imøtekomme ovennevnte behov ble Jenkins distribuerte arkitektur introdusert.



Jenkins distribuert arkitektur

Jenkins bruker en Master-Slave-arkitektur for å administrere distribuerte bygninger. I denne arkitekturen kommuniserer Master og Slave gjennom TCP / IP-protokoll.

Jenkins Master

Din viktigste Jenkins-server er mesteren. Mesterens jobb er å håndtere:

  • Planlegge bygge jobber.
  • Forsendelse bygger til slaver for den faktiske utførelsen.
  • Overvåke slaver (eventuelt ta dem online og offline etter behov).
  • Registrere og presentere byggresultatene.
  • En masterinstans av Jenkins kan også utføre byggejobber direkte.

Jenkins Slave

En slave er en Java-kjørbar som kjører på en ekstern maskin. Følgende er kjennetegnene til Jenkins Slaves:

  • Den hører forespørsler fra Jenkins Master-forekomsten.
  • Slaver kan kjøres på en rekke operativsystemer.
  • Jobben til en slave er å gjøre som de får beskjed om, som innebærer å utføre byggejobber sendt av mesteren.
  • Du kan konfigurere et prosjekt slik at det alltid kjøres på en bestemt slave-maskin eller en bestemt type slave-maskin, eller bare la Jenkins velge neste tilgjengelige slave.

Diagrammet nedenfor er selvforklarende. Den består av en Jenkins Master som administrerer tre Jenkins Slave.

La oss nå se på et eksempel der Jenkins brukes til testing i forskjellige miljøer som: Ubuntu, MAC, Windows etc.

Diagrammet nedenfor representerer det samme:

Følgende funksjoner utføres i bildet ovenfor:

  • Jenkins sjekker Git-depotet med jevne mellomrom for eventuelle endringer som er gjort i kildekoden.
  • Hver build krever et annet testmiljø som ikke er mulig for en enkelt Jenkins-server. For å utføre testing i forskjellige miljøer bruker Jenkins forskjellige slaver som vist i diagrammet.
  • Jenkins Master ber disse slaverne om å utføre testing og generere testrapporter.

Jenkins Build Pipeline

Det brukes til å vite hvilken oppgave Jenkins utfører for øyeblikket. Ofte gjøres flere forskjellige endringer av flere utviklere samtidig, så det er nyttig å vite hvilken endring som blir testet eller hvilken endring som sitter i køen eller hvilken bygning som er ødelagt. Det er her rørledningen kommer inn i bildet. Jenkins Pipeline gir deg en oversikt over hvor testene er opp til. I bygningsrørledningen er bygningen som helhet delt inn i seksjoner, for eksempel enhetstest, godkjenningstest, emballasje, rapportering og distribusjonsfaser. Rørledningsfasene kan utføres i serie eller parallelt, og hvis en fase lykkes, går den automatisk videre til neste fase (derav relevansen av navnet 'rørledning'). Bildet nedenfor viser hvordan en rørledning med flere bygninger ser ut.

Håper du har forstått de teoretiske begrepene. Nå, la oss ha det gøy med praktisk.

Jeg vil opprette en ny jobb i Jenkins, det er en Freestyle-prosjekt . Imidlertid er det 3 flere alternativer tilgjengelig. La oss se på hvilke typer byggejobber som er tilgjengelige i Jenkins.

Freestyle-prosjekt:

Freestyle-bygningsjobber er generelle byggjobber, som gir maksimal fleksibilitet.Freestyle build-jobben er det mest fleksible og konfigurerbare alternativet, og kan brukes til alle typer prosjekter. Det er relativt greit å sette opp, og mange av alternativene vi konfigurerer her vises også i andre byggejobber.

Multikonfigurasjonsjobb:

Med “multikonfigurasjonsprosjektet” (også referert til som et “matriseprosjekt”) kan du kjøre den samme byggejobben i forskjellige miljøer. Den brukes til å teste et program i forskjellige miljøer, med forskjellige databaser, eller til og med på forskjellige maskiner.

Overvåk en ekstern jobb:

Med «Overvåk en ekstern jobb» -jobb kan du holde et øye med ikke-interaktive prosesser, for eksempel cron-jobber.

Maven-prosjekt:

“Maven2 / 3-prosjektet” er en byggejobb spesielt tilpasset Maven-prosjekter. Jenkins forstår Maven pom-filer og prosjektstrukturer, og kan bruke informasjonen hentet fra pom-filen for å redusere arbeidet du trenger å gjøre for å sette opp prosjektet.

Her er en video på Jenkins tutorial for bedre forståelse av Jenkins. Sjekk ut denne Jenkins-opplæringsvideoen.

Komme i gang med Jenkins | Jenkins og DevOps opplæring | Jenkins for nybegynnere | Edureka

Opprette et bygg ved hjelp av Jenkins

Trinn 1: Velg fra Jenkins-grensesnittet Ny gjenstand.

Steg 2: Skriv inn et navn og velg Freestyle-prosjekt .

Trinn 3: Denne neste siden er der du spesifiserer jobbkonfigurasjonen. Som du raskt kan se, er det en rekke innstillinger tilgjengelig når du oppretter et nytt prosjekt.På denne konfigurasjonssiden har du også muligheten til å Legg til byggetrinn for å utføre ekstra handlinger som å kjøre skript. Jeg skal utføre et skallskript.

Dette vil gi deg en tekstboks der du kan legge til hvilke kommandoer du trenger. Du kan bruke skript til å kjøre forskjellige oppgaver som servervedlikehold, versjonskontroll, lese systeminnstillinger osv. Jeg vil bruke denne delen til å kjøre et enkelt skript.

Trinn 4: Lagre prosjektet, så blir du ført til en prosjektoversiktsside. Her kan du se informasjon om prosjektet, inkludert bygd historie.

Trinn 5: Klikk Bygg nå på venstre side for å starte byggingen.

Trinn 6: For å se mer informasjon, klikk på den bygningen i byggehistorikkområdet, hvoretter du blir ført til en side med en oversikt over byggeinformasjonen.

Trinn 7: De Konsollutgang lenke på denne siden er spesielt nyttig for å undersøke resultatene av jobben i detalj.

Trinn 8: Hvis du går tilbake til Jenkins hjem, ser du en oversikt over alle prosjekter og deres informasjon, inkludert status.

Status for bygningen er indikert på to måter, med et værikon og en farget ball. Værikonet er spesielt nyttig ettersom det viser deg en oversikt over flere bygninger i ett bilde.

Som du kan se på bildet ovenfor, representerer solen at alle mine bygg var vellykkede. Ballens farge gir oss statusen til den spesielle bygningen, i bildet ovenfor er kulens farge blå, noe som betyr at denne spesielle bygningen var vellykket.

I denne Jenkins-veiledningen har jeg nettopp gitt et innledende eksempel. I min neste blogg vil jeg vise deg hvordan du henter og bygger kode fra GitHub-depotet ved hjelp av Jenkins.

kaste en dobbel til en int java

Hvis du fant dette Jenkins Tutorial relevant, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Edureka DevOps Certification Training-kurset hjelper elever å få ekspertise i forskjellige DevOps-prosesser og verktøy som Puppet, Jenkins, Nagios og GIT for å automatisere flere trinn i SDLC.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet, så kommer vi tilbake til deg.