Tutorial Jenkins | Integrare continuă folosind Jenkins | Edureka



Jenkins Tutorial este al doilea blog al seriei de bloguri Jenkins. Acest blog vorbește despre arhitectura distribuită Jenkins și despre cum să creați o construcție folosind Jenkins.

Tutorial Jenkins

Jenkins este unul dintre cele mai importante instrumente din . Sper că mi-ați citit blogul anterior . În acest blog Tutorial Jenkins, mă voi concentra pe arhitectura Jenkins și pe conducta de construcție Jenkins, împreună cu aceea vă voi arăta cum să creați o construcție în Jenkins.

Înainte de a continua cu Tutorialul Jenkins, elementele cheie de la blogul anterior sunt:





  • Jenkins este folosit pentru a integra toate etapele DevOps cu ajutorul pluginurilor.
  • Pluginurile Jenkins utilizate în mod obișnuit sunt Git, Amazon EC2, proiectul Maven 2, editor HTML etc.
  • Jenkins are peste 1000 de pluginuri și147.000 de instalații active împreună cu peste 1 milion de utilizatori din întreaga lume.
  • Cu integrarea continuă, fiecare modificare făcută în codul sursăesteconstruit. Îndeplinește și alte funcții,asta depinde de instrumentul utilizat pentru integrarea continuă.
  • Nokia a trecut de la Nightly build la Continuous Integration.
  • Procesul de integrare continuă a avut multe defecte. Ca rezultat, nu numai livrarea software-ului a fost lentă, dar și calitatea software-ului nu a fost la înălțime. De asemenea, dezvoltatorii au avut dificultăți în localizarea și remedierea erorilor.
  • Integrarea continuă cu Jenkins a depășit aceste neajunsuri prin declanșarea continuă a unei construcții și testarea fiecărei modificări efectuate în codul sursă.

Acum este momentul corect pentru a înțelege arhitectura Jenkins.

Jenkins Architecture

Să revizuim arhitectura Jenkins independentă pe care v-am explicat-o în , diagrama de mai jos prezintă același lucru.



Jenkins Standalone Architecture - Ce este Jenkins - Edureka

Acest singur server Jenkins nu a fost suficient pentru a îndeplini anumite cerințe precum:

  • Uneori este posibil să aveți nevoie de mai multe medii diferite pentru a vă testa versiunile. Acest lucru nu poate fi făcut de un singur server Jenkins.
  • Dacă proiectele mai mari și mai grele sunt construite în mod regulat, atunci un singur server Jenkins nu poate gestiona pur și simplu întreaga încărcare.

Pentru a răspunde nevoilor menționate mai sus, a fost introdusă arhitectura distribuită Jenkins.



Jenkins Distributed Architecture

Jenkins folosește o arhitectură Master-Slave pentru a gestiona versiunile distribuite. În această arhitectură, Master și Slave comunică prin protocolul TCP / IP.

Maestrul Jenkins

Principalul dvs. server Jenkins este Master. Sarcina Maestrului este de a gestiona:

  • Programarea locurilor de muncă pentru construcții.
  • Expedierea versiunilor către sclavi pentru executarea efectivă.
  • Monitorizați sclavii (eventual ducându-i online și offline, după cum este necesar).
  • Înregistrarea și prezentarea rezultatelor compilării.
  • O instanță Master a lui Jenkins poate, de asemenea, să execute direct joburi de compilare.

Jenkins Slave

Un Slave este un executabil Java care rulează pe o mașină la distanță. Următoarele sunt caracteristicile sclavilor Jenkins:

cum se folosește loggerul în java
  • Aude cererile instanței Master Jenkins.
  • Sclavii pot rula pe o varietate de sisteme de operare.
  • Slujba unui sclav este de a face ceea ce li se spune, ceea ce implică executarea de locuri de muncă de construcție expediate de Maestru.
  • Puteți configura un proiect pentru a rula întotdeauna pe o anumită mașină Slave sau un anumit tip de mașină Slave sau pur și simplu lăsați-o pe Jenkins să aleagă următorul Slave disponibil.

Diagrama de mai jos se explică de la sine. Se compune dintr-un Maestru Jenkins care administrează trei Jenkins Slave.

Acum să ne uităm la un exemplu în care Jenkins este utilizat pentru testarea în diferite medii precum: Ubuntu, MAC, Windows etc.

Diagrama de mai jos reprezintă același lucru:

Următoarele funcții sunt îndeplinite în imaginea de mai sus:

  • Jenkins verifică depozitul Git la intervale periodice pentru eventualele modificări aduse codului sursă.
  • Fiecare versiune necesită un mediu de testare diferit, care nu este posibil pentru un singur server Jenkins. Pentru a efectua testări în diferite medii, Jenkins folosește diferiți sclavi, așa cum se arată în diagramă.
  • Jenkins Master cere acestor sclavi să efectueze teste și să genereze rapoarte de testare.

Jenkins Build Pipeline

Este folosit pentru a ști ce sarcină execută în prezent Jenkins. Adesea mai multe modificări diferite sunt făcute de mai mulți dezvoltatori simultan, deci este util să știți ce schimbare este testată sau care schimbare se află în coadă sau care versiune este ruptă. Acesta este locul în care conducta intră în imagine. Conducta Jenkins vă oferă o prezentare generală a locului în care se efectuează testele. În conducta de construcție, construcția în ansamblu este împărțită în secțiuni, cum ar fi testele unitare, testul de acceptare, ambalarea, raportarea și fazele de implementare. Fazele conductei pot fi executate în serie sau paralel și, dacă o fază are succes, se trece automat la faza următoare (de aici relevanța numelui „conductă”). Imaginea de mai jos arată cum arată o conductă multiplă.

cum se tipărește în java

Sper că ați înțeles conceptele teoretice. Acum, haideți să ne distram cu mâinile.

Voi crea un nou loc de muncă în Jenkins, este un Freestyle Project . Cu toate acestea, există încă 3 opțiuni disponibile. Să ne uităm la tipurile de locuri de muncă disponibile în Jenkins.

Proiect Freestyle:

Locurile de muncă de construcție freestyle sunt locuri de muncă de construcție de uz general, ceea ce oferă flexibilitate maximă.Lucrarea de construire freestyle este cea mai flexibilă și configurabilă opțiune și poate fi utilizată pentru orice tip de proiect. Este relativ simplu de configurat și multe dintre opțiunile pe care le configurăm aici apar și în alte joburi de compilare.

Job multiconfigurare:

„Proiectul multiconfigurare” (denumit și „proiect matricial”) vă permite să rulați același job de construire pe medii diferite. Este utilizat pentru testarea unei aplicații în medii diferite, cu baze de date diferite sau chiar pe diferite mașini de construcție.

Monitorizați un job extern:

Lucrarea de construire „Monitorizează un job extern” vă permite să urmăriți procesele non-interactive, cum ar fi joburile cron.

Proiect Maven:

„Proiectul maven2 / 3” este un job de construcție special adaptat proiectelor Maven. Jenkins înțelege fișierele Maven pom și structurile proiectului și poate utiliza informațiile culese din fișierul pom pentru a reduce munca pe care trebuie să o faceți pentru a vă configura proiectul.

Iată un videoclip despre tutorialul Jenkins pentru o mai bună înțelegere a lui Jenkins. Vedeți acest video tutorial Jenkins.

Noțiuni introductive despre Jenkins | Tutorial Jenkins și DevOps | Jenkins pentru începători | Edureka

Crearea unei construcții folosind Jenkins

Pasul 1: Din interfața de start Jenkins, selectați Articol nou.

Pasul 2: Introduceți un nume și selectați Proiect freestyle .

Pasul 3: Această pagină următoare este locul în care specificați configurația lucrării. După cum veți observa rapid, există o serie de setări disponibile atunci când creați un proiect nou.Pe această pagină de configurare, aveți și opțiunea de a Adăugați pasul de construire pentru a efectua acțiuni suplimentare precum rularea scripturilor. Voi executa un script shell.

Acest lucru vă va oferi o casetă de text în care puteți adăuga orice comenzi aveți nevoie. Puteți utiliza scripturi pentru a rula diverse activități precum întreținerea serverului, controlul versiunilor, citirea setărilor sistemului etc. Voi folosi această secțiune pentru a rula un script simplu.

CV-ul dezvoltatorului frontal Java

Pasul 4: Salvați proiectul și veți fi direcționat către o pagină de prezentare generală a proiectului. Aici puteți vedea informații despre proiect, inclusiv istoricul construit al acestuia.

Pasul 5: Clic Construiți acum în partea stângă pentru a începe construcția.

Pasul 6: Pentru a vedea mai multe informații, faceți clic pe acea versiune din zona istoric a construcțiilor, după care veți fi direcționat către o pagină cu o prezentare generală a informațiilor despre construcție.

Pasul 7: Ieșire consolă linkul de pe această pagină este util în special pentru examinarea în detaliu a rezultatelor jobului.

Pasul 8: Dacă vă întoarceți la Jenkins acasă, veți vedea o prezentare generală a tuturor proiectelor și a informațiilor acestora, inclusiv a stării.

Starea construcției este indicată în două moduri, printr-o pictogramă meteo și printr-o minge colorată. Pictograma meteo este deosebit de utilă, deoarece vă arată o înregistrare a mai multor versiuni într-o singură imagine.

După cum puteți vedea în imaginea de mai sus, soarele reprezintă că toate construcțiile mele au avut succes. Culoarea mingii ne oferă statutul acelei construcții, în imaginea de mai sus culoarea mingii este albastră, ceea ce înseamnă că această construcție specială a avut succes.

În acest tutorial Jenkins, tocmai am dat un exemplu introductiv. În următorul meu blog, vă voi arăta cum să extrageți și să creați cod din depozitul GitHub folosind Jenkins.

Dacă ai găsit asta Tutorial Jenkins relevant, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka DevOps Certification Training ajută cursanții să câștige expertiză în diferite procese și instrumente DevOps, cum ar fi Puppet, Jenkins, Nagios și GIT pentru automatizarea mai multor pași în SDLC.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.