Integrarea Jenkins Git - Utilă pentru fiecare DevOps Professional



Acest blog discută despre integrarea Git cu Jenkins. De asemenea, discută despre avantajele integrării Git cu Jenkins împreună cu demo-ul.

este cu siguranță incompletă fără Jenkins. Jenkins împreună cu Git este o combinație minunată. Deci, în acest articol, voi vorbi despre integrarea Jenkins Git și avantajele sale. Indicațiile pe care le vom acoperi sunt următoarele:

Deci, să începem cu primul nostru subiect.





Ce este Git - De ce Git A intrat în existență?

Știm cu toții „Necesitatea este mama tuturor invențiilor”. În mod similar, Git a apărut pentru a îndeplini anumite necesități cu care se confruntau dezvoltatorii înainte de Git. Deci, să facem un pas înapoi pentru a afla totul despre sistemele de control al versiunilor (VCS) și despre cum a apărut Git.

Controlul versiunii este gestionarea modificărilor aduse documentelor, programelor de calculator, site-urilor web mari și a altor colecții de informații.



Există două tipuri de VCS:

  • Sistem de control al versiunilor centralizat (CVCS)

  • Sistem de control al versiunii distribuite (DVCS)



VCS centralizat

Un sistem centralizat de control al versiunilor (CVCS) folosește un server central pentru a stoca toate fișierele și permite colaborarea echipei. Funcționează pe un singur depozit pe care utilizatorii pot accesa direct un server central.

ce este instanța în python

Vă rugăm să consultați diagrama de mai jos pentru a vă face o idee mai bună despre CVCS:

Depozitul din diagrama de mai sus indică un server central care ar putea fi local sau la distanță, care este conectat direct la fiecare stație de lucru a programatorului.

Fiecare programator poate extrage sau Actualizați stațiile lor de lucru cu datele prezente în depozit. De asemenea, pot aduce modificări datelor sau comite către depozit. Fiecare operație este efectuată direct pe depozit.

Chiar dacă pare destul de convenabil să mențineți un singur depozit, are unele dezavantaje majore. Unii dintre ei sunt:

  • Nu este disponibil local, ceea ce înseamnă că trebuie întotdeauna să fiți conectat la o rețea pentru a efectua orice acțiune.

  • Deoarece totul este centralizat, în orice caz, serverul central care se prăbușește sau se deteriorează va duce la pierderea tuturor datelor proiectului.

Aici distribuie VCS rezolvă problema.

VCS distribuit

Aceste sisteme nu se bazează neapărat pe un server central pentru a stoca toate versiunile unui fișier de proiect.În VCS distribuit, fiecare colaborator are o copie locală sau o „clonă” a depozitului principal. Aici toată lumea păstrează un depozit local propriu care conține toate fișierele și metadatele prezente în depozitul principal.

O veți înțelege mai bine făcând referire la diagrama de mai jos:

După cum puteți vedea în diagrama de mai sus, fiecare programator menține un depozit local pe cont propriu, care este de fapt copia sau clona depozitului central de pe hard diskul lor. Aceștia pot comite și actualiza depozitul local fără nici o interferență.

Aceștia își pot actualiza depozitele locale cu date noi de pe serverul central printr-o operație numită „ Trage ”Și afectează modificările aduse depozitului principal printr-o operație numită„ Apăsați ”Din depozitul lor local.

Acum, să încercăm să aflăm despre definiția lui Git.

  • Git este un instrument de control al versiunilor distribuite care acceptă fluxuri de lucru neliniare distribuite, oferind asigurarea datelor pentru dezvoltarea de software de calitate. Instrumente precum Git permit comunicarea între echipa de dezvoltare și operațiuni.

  • În mod normal, atunci când dezvolți un proiect mare, ai un număr mare de colaboratori. Deci, este foarte important să avem o comunicare între colaboratori în timp ce facem modificări în proiect.

  • Mesajele de angajare în Git joacă un rol foarte important în comunicarea între echipă. În afară de comunicare, cel mai important motiv pentru a utiliza Git este că aveți întotdeauna la dispoziție o versiune stabilă a codului.

  • Prin urmare, Git joacă un rol vital în succesul la DevOps.

Ce este Jenkins?

Jenkins este un instrument de automatizare open-source scris în Java cu pluginuri construite în scopuri de integrare continuă. Jenkins este folosit pentru a construi și testa proiectele dvs. software în mod continuu, facilitând integrarea de către dezvoltatori a modificărilor la proiect și facilitând obținerea de către utilizatori a unei noi versiuni. De asemenea, vă permite să livrați software-ul dvs. continuu, integrându-vă cu un număr mare de tehnologii de testare și implementare.

Cu Jenkins, organizațiile pot accelera procesul de dezvoltare software prin automatizare. Jenkins integrează procesele de dezvoltare a ciclului de viață de toate tipurile, inclusiv construirea, documentarea, testarea, pachetul, etapa, implementarea, analiza statică și multe altele.

Jenkins realizează o integrare continuă cu ajutorul pluginurilor. Pluginurile permit integrarea diferitelor etape DevOps. Dacă doriți să integrați un anumit instrument, trebuie să instalați pluginurile pentru acel instrument. De exemplu, Git, proiectul Maven 2, Amazon EC2, editor HTML etc.

Avantajele Jenkins includ:

  • Este un instrument open-source cu sprijin comunitar excelent.

  • Prea ușor de instalat.

  • Are peste 1000 de pluginuri pentru a vă ușura munca. Dacă un plugin nu există, îl puteți codifica și partaja cu comunitatea.

  • Este gratuit.

  • Este construit cu Java și, prin urmare, este portabil pentru toate platformele majore.

Acum știți cum Jenkins depășește deficiențele tradiționale SDLC. Tabelul de mai jos arată comparația dintre „Înainte și după Jenkins”.

cum se inversează numărul în java
Înaintea lui JenkinsDupă Jenkins
Întregul cod sursă a fost construit și apoi testat. Localizarea și remedierea erorilor în caz de eșec al construcției și testului a fost dificilă și consumatoare de timp, ceea ce, la rândul său, încetinește procesul de livrare a software-ului.Fiecare confirmare făcută în codul sursă este construită și testată. Deci, în loc să verifice întregul cod sursă, dezvoltatorii trebuie să se concentreze doar pe un anumit commit. Acest lucru duce la lansări frecvente de software nou.
Dezvoltatorii trebuie să aștepte rezultatele testelorDezvoltatorii știu rezultatul testului fiecărui commit efectuat în codul sursă în cursă.
Întregul proces este manualTrebuie doarcomiteți modificări la codul sursă și Jenkins vă va automatiza restul procesului.

De ce Jenkins și Git sunt folosiți împreună?

După cum sa discutat mai devreme, Merge este un manager de control sursă. Acolo vă păstrați codul sursă pentru a urmări toate modificările de cod care au loc în timp și pentru a stabili versiunile de bază atunci când acestea sunt gata de lansare.

Jenkins pe de altă parte, este o soluție de integrare continuă. Este conceput pentru a automatiza majoritatea sarcinilor pe care trebuie să le facă un dezvoltator în timp ce dezvoltă o nouă aplicație (verificări ale calității codului, construirea, arhivarea artefactelor de construcție, testarea integrării, implementarea în diferite medii etc.) Fără o soluție CI, un dezvoltator trebuie să petreacă mult timp realizând aceste sarcini repetitive neproductive.

Avantaje:

  • Git și Jenkins sunt ambii foarte puternici, dar cu o mare putere vine o mare responsabilitate. Este destul de obișnuit să justifici o cantitate inutilă de complicație într-o conductă de construcție pur și simplu pentru că poți.
  • În timp ce Jenkins are o mulțime de trucuri îngrijite în mânecă, este ușor să valorificați caracteristicile Git, deoarece face gestionarea lansărilor și urmărirea erorilor este mult mai ușoară peste orar.
  • Putem face acest lucru fiind atenți la versiunile de cod pe care le construim și etichetându-le corespunzător. Aceasta păstrează informații legate de versiune apropiate de cod , spre deosebire de a se baza pe numerele de construcție Jenkins sau alte nume.
  • Protejarea ramurilor Git reduce riscul de eroare umană și automatizarea cât mai multor sarcini posibil reduce frecvența cu care trebuie să ne bătim (sau să așteptăm) acei oameni.

Exemplu:

Să luăm exemplul unei noi funcții într-o aplicație web. Un dezvoltator va fi identificat și atribuit sarcinii, el preia baza de cod existentă din controlul sursă - să zicem, Git, face modificările sale, efectuează teste unitare, asigură calitatea codului manual și verifică noul cod în Git.

Apoi, el trebuie să construiască codul, să-l implementeze în instanța de integrare, să execute teste de integrare și, odată ce schimbarea pare satisfăcătoare, să ridice o cerere pentru implementarea producției. Acum, dacă am avea un serviciu care să se ocupe de aceste secțiuni de testare, construire, verificare a calității și implementare, dezvoltatorul sărac ar fi putut să se concentreze mai bine pe acele lucruri la care este foarte bun - implementând și îmbunătățind logica caracteristicii.

Minionul acesta este Jenkins. Acționează ca un orchestrator pentru a rula toate aceste activități odată ce modificarea este verificată în controlul sursei (Git) și oferă astfel feedback rapid dezvoltatorului dacă modificările pe care le-a făcut sunt suficient de bune pentru implementarea producției sau nu.Este un program extrem de flexibil, open-source și are o mulțime de plugin-uri care pot face aproape orice vrei să facă.

Demo

Aici vom vedea cum să integrăm Git cu Jenkins. Există 5 pași pe care trebuie să-i urmați:

1. Creați un exemplu de program:

Puteți crea orice exemplu de program dorit, cum ar fi Java sau Python sau orice alt program. Aici vom scrie un simplu Program Python care imprimă Hello, World!

2. Creați un job Jenkins:

  • Aici trebuie mai întâi începe Jenkins folosind promptul de comandă.

  • Pentru aceasta, trebuie mai întâi să navigați la locația Jenkins din sistemul dvs. și să utilizați comanda java -jar jenkins.war

  • După executarea acestei comenzi, deschideți browserul web și accesați pagina de start a lui Jenkins folosind linkul localhost: 8080 . Acesta este numărul de port implicit.

  • Deschideți pagina principală Jenkins de introducerea numelui de utilizator și a parolei.

    talend open studio tutorial pdf
  • Pentru a crea un proiect, faceți clic pe Articol nou și introduceți Denumirea proiectului și selectați Proiect freestyle . Faceți clic pe OK.

3. Adăugați acest program la Github:

  • Deschide git bash pe sistemul dvs. Navigați la locația programului dvs. Inițializați un depozit gol folosind comanda git init .

  • Folosiți comanda git add. pentru a adăuga fișierul în zona intermediară din directorul de lucru.

  • Acum adăugați fișierul la depozitul local folosind comanda git commit -m „fișier demo.py adăugat” .

  • Acum trebuie Apăsați acest fișier către depozitul la distanță. Pentru aceasta, accesați contul dvs. GitHub și creați un nou depozit public. Acum copiați locația acestui depozit și accesați terminalul git bash. Aici tastați comanda git remote add origin . Din moment ce v-ați conectat la depozitul la distanță, acum puteți împinge codul dvs. acolo folosind comanda git push -u origin master. Pentru a verifica acest lucru, accesați contul GitHub și reîmprospătați pagina. Veți vedea fișierul adăugat acolo.

4. Adăugați Git Plugin în Jenkins:

  • Pe pagina de start a lui Jenkins, accesați Gestionați Jenkins .

  • Apoi faceți clic pe Gestionați pluginurile . Aici verificați pluginul Git obținut în secțiunea instalată. Dacă nu este disponibil aici, căutați-l în secțiunea disponibilă și descărcați-l.

5. Configurați jobul Jenkins pentru a declanșa construirea:

  • Mergeți la proiectul din Jenkins pe care l-am creat la pasul 2. Aici, în secțiunea Managementul codului sursă, selectați git și introduceți linkul depozitului public pe care l-ați creat la pasul 3. Următorul în Secțiunea Build Triggers , Click pe Opțiunea Poll SCM . Aici, în partea Programare, trebuie să introduceți cinci asteriscuri separate prin spațiu. Aceasta nu este altceva decât sintaxa cron pentru jobul dvs. Aceasta înseamnă că Jenkins va verifica orice modificare a codului sursă în fiecare minut și, dacă există vreo modificare, va declanșa construcția Jenkins.

  • Click pe aplica și apoi mai departe salva . Apoi, pe pagina principală a proiectului, faceți clic pe Construiți acum . Acest lucru va rula proiectul și în ieșirea consolei, puteți vedea programul dvs. ieșind starea jobului dvs. Jenkins. Dacă totul este în regulă, atunci se va afișa ca Succes .

Deci, așa se face integrarea Jenkins Git. Cu aceasta, am ajuns la sfârșitul acestui articol despre integrarea Jenkins Git. Sper că v-a plăcut acest articol.

Acum că ai înțeles ce Integrarea Jenkins Git este, verificați acest lucru 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 îi ajută pe cursanți să înțeleagă ce este DevOps și să câștige expertiză în diferite procese și instrumente DevOps precum Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ș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