Jenkins handledning | Kontinuerlig integration med Jenkins | Edureka

Jenkins Tutorial är den andra bloggen i Jenkins bloggserier. Den här bloggen talar om Jenkins distribuerade arkitektur och hur man skapar en byggnad med Jenkins.

Jenkins handledning

Jenkins är ett av de viktigaste verktygen i . Jag hoppas att du har läst min tidigare blogg på . I denna Jenkins Tutorial-blogg kommer jag att fokusera på Jenkins-arkitektur och Jenkins bygga pipeline tillsammans med att jag kommer att visa dig hur du skapar en build i Jenkins.

Innan vi fortsätter med Jenkins Tutorial är huvudupptagningarna från föregående blogg:



  • Jenkins används för att integrera alla DevOps-steg med hjälp av plugins.
  • Vanligt använda Jenkins-plugins är Git, Amazon EC2, Maven 2-projekt, HTML-utgivare etc.
  • Jenkins har över 1000 plugins och147 000 aktiva installationer tillsammans med över 1 miljon användare runt om i världen.
  • Med kontinuerlig integrering görs alla ändringar i källkodenärbyggd. Den utför också andra funktioner,det beror på verktyget som används för kontinuerlig integration.
  • Nokia skiftade från Nightly build till Continuous Integration.
  • Processen före kontinuerlig integration hade många brister. Som ett resultat var inte bara mjukvaruleveransen långsam utan också kvaliteten på mjukvaran. Utvecklare hade också svårt att hitta och fixa buggar.
  • Kontinuerlig integration med Jenkins övervann dessa brister genom att kontinuerligt utlösa en build och test för varje förändring som görs i källkoden.

Det är nu rätt tid att förstå Jenkins arkitektur.

Jenkins arkitektur

Låt oss se över den fristående Jenkins-arkitekturen som jag har förklarat för dig i , nedanstående diagram visar samma.

Jenkins fristående arkitektur - Vad är Jenkins - Edureka

Denna enda Jenkins-server räckte inte för att uppfylla vissa krav som:

  • Ibland kan du behöva flera olika miljöer för att testa dina byggnader. Detta kan inte göras av en enda Jenkins-server.
  • Om större och tyngre projekt byggs regelbundet kan en enda Jenkins-server inte bara hantera hela belastningen.

För att tillgodose ovan angivna behov introducerades Jenkins distribuerade arkitektur.

hur man använder skannerklassen i java

Jenkins Distribuerad arkitektur

Jenkins använder en Master-Slave-arkitektur för att hantera distribuerade byggnader. I denna arkitektur kommunicerar Master och Slave via TCP / IP-protokoll.

Jenkins Master

Din huvudsakliga Jenkins-server är Master. Befälhavarens jobb är att hantera:

  • Schemaläggning av jobb.
  • Expedition bygger till slavarna för det faktiska utförandet.
  • Övervaka slavarna (eventuellt ta dem online och offline vid behov).
  • Spela in och presentera byggresultaten.
  • En masterinstans av Jenkins kan också utföra byggjobb direkt.

Jenkins slav

En slav är en Java-körbar som körs på en fjärrmaskin. Följande är egenskaperna hos Jenkins Slaves:

  • Den hör förfrågningar från Jenkins Master-instansen.
  • Slavar kan köras på en mängd olika operativsystem.
  • En slavs jobb är att göra som de får veta, vilket innebär att man utför byggjobb som skickas av mästaren.
  • Du kan konfigurera ett projekt så att det alltid körs på en viss slavmaskin eller en viss slavmaskin, eller helt enkelt låta Jenkins välja nästa tillgängliga slav.

Diagrammet nedan är självförklarande. Den består av en Jenkins Master som hanterar tre Jenkins Slave.

Låt oss nu titta på ett exempel där Jenkins används för testning i olika miljöer som: Ubuntu, MAC, Windows etc.

Diagrammet nedan representerar samma:

Följande funktioner utförs i bilden ovan:

  • Jenkins kontrollerar Git-arkivet med jämna mellanrum för eventuella ändringar i källkoden.
  • Varje build kräver en annan testmiljö, vilket inte är möjligt för en enda Jenkins-server. För att utföra testning i olika miljöer använder Jenkins olika slavar som visas i diagrammet.
  • Jenkins Master begär att dessa slavar ska testa och generera testrapporter.

Jenkins Build Pipeline

Det används för att veta vilken uppgift Jenkins för närvarande utför. Ofta görs flera olika ändringar av flera utvecklare samtidigt, så det är användbart att veta vilken förändring som testas eller vilken förändring som sitter i kön eller vilken byggnad som är trasig. Det är här rörledningen kommer in i bilden. Jenkins Pipeline ger dig en överblick över var test är upp till. I byggpipelinen är byggnaden i sin helhet uppdelad i sektioner, såsom enhetstest, godkännandestest, förpacknings-, rapporterings- och distributionsfaser. Rörledningsfaserna kan köras i serie eller parallellt, och om en fas lyckas går den automatiskt vidare till nästa fas (därav relevansen för namnet 'pipeline'). Bilden nedan visar hur en rörledning med flera byggnader ser ut.

hur konverterar man dubbel till int

Hoppas att du har förstått de teoretiska begreppen. Nu ska vi ha lite kul med hands-on.

Jag kommer att skapa ett nytt jobb i Jenkins, det är ett Freestyle-projekt . Det finns dock ytterligare tre alternativ. Låt oss titta på de typer av byggjobb som finns tillgängliga i Jenkins.

Freestyle-projekt:

Freestyle byggjobb är byggnadsjobb för allmänna ändamål, vilket ger maximal flexibilitet.Freestyle-byggjobbet är det mest flexibla och konfigurerbara alternativet och kan användas för alla typer av projekt. Det är relativt enkelt att ställa in, och många av alternativen vi konfigurerar här visas också i andra byggjobb.

Multikonfigurationsjobb:

Med 'multikonfigurationsprojektet' (även kallat 'matrisprojekt') kan du köra samma byggjobb i olika miljöer. Den används för att testa en applikation i olika miljöer, med olika databaser eller till och med på olika byggmaskiner.

Övervaka ett externt jobb:

Bygga jobbet 'Övervaka ett externt jobb' låter dig hålla koll på icke-interaktiva processer, till exempel cronjobb.

Maven-projektet:

”Maven2 / 3-projektet” är ett byggjobb som är särskilt anpassat till Maven-projekt. Jenkins förstår Maven pom-filer och projektstrukturer och kan använda informationen från pom-filen för att minska det arbete du behöver göra för att ställa in ditt projekt.

Här är en video om Jenkins handledning för bättre förståelse av Jenkins. Kolla in den här Jenkins-självstudievideoen.

Komma igång med Jenkins | Jenkins och DevOps handledning | Jenkins för nybörjare | Edureka

Skapa en byggnad med Jenkins

Steg 1: Välj från Jenkins-gränssnittshemmet Nytt föremål.

Steg 2: Ange ett namn och välj Freestyle-projekt .

Steg 3: På nästa sida anger du jobbkonfigurationen. Som du snabbt kan se finns det ett antal inställningar tillgängliga när du skapar ett nytt projekt.På denna konfigurationssida har du också möjlighet att Lägg till byggsteg för att utföra extra åtgärder som att köra skript. Jag kommer att köra ett skalskript.

Detta ger dig en textruta där du kan lägga till de kommandon du behöver. Du kan använda skript för att köra olika uppgifter som serverunderhåll, versionskontroll, läsning av systeminställningar etc. Jag kommer att använda detta avsnitt för att köra ett enkelt skript.

Steg 4: Spara projektet så kommer du till en projektöversiktssida. Här kan du se information om projektet, inklusive dess inbyggda historia.

Steg 5: Klick Bygg nu på vänster sida för att starta byggandet.

Steg 6: För att se mer information, klicka på den byggnaden i bygghistorikområdet, varefter du kommer till en sida med en översikt över bygginformation.

skillnad mellan förlängningar och redskap i Java

Steg 7: De Konsolutgång länken på den här sidan är särskilt användbar för att undersöka resultaten av jobbet i detalj.

Steg 8: Om du går tillbaka till Jenkins hem ser du en översikt över alla projekt och deras information, inklusive status.

Byggnadens status indikeras på två sätt, med en väderikon och med en färgad boll. Väderikonen är särskilt användbar eftersom den visar ett register över flera byggnader i en bild.

Som du kan se i bilden ovan representerar solen att alla mina byggnader var framgångsrika. Bollens färg ger oss statusen för den specifika byggnaden, i bilden ovan är kulans färg blå vilket betyder att den här specifika byggnaden lyckades.

I denna Jenkins-handledning har jag just gett ett inledande exempel. I min nästa blogg kommer jag att visa dig hur du drar och bygger kod från GitHub-förvaret med Jenkins.

Om du hittade det här Jenkins handledning relevant, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka DevOps Certification Training-kursen hjälper eleverna att få expertis inom olika DevOps-processer och verktyg som Puppet, Jenkins, Nagios och GIT för att automatisera flera steg i SDLC.

Har du en fråga till oss? Vänligen nämna det i kommentarfältet så återkommer vi till dig.