Biblioteca partajată Jenkins: O privire mai atentă [2022]
Publicat: 2021-01-02Trăim într-o era a microserviciilor în care aplicațiile contemporane sunt dezasamblate în componente care pot fi implementate individual . Putem argumenta că Jenkins și-a făcut loc printre instrumentele CI/CD originale de top pentru implementarea microserviciilor. În comparație cu aplicațiile monolitice, există multe conducte pentru implementarea microserviciilor individuale.
Puteți utiliza furtunul ca cod pentru a codifica întregul proces de CI / CD. Tratează-l ca în dezvoltarea de aplicații. Puteți să publicați codul canalului și să rulați toate nivelurile de testare înainte de a-l folosi pentru a vă implementa aplicația.
Cuprins
Ce este Biblioteca partajată Jenkins?
Când spunem CI / CD ca simbol, avem nevoie de modularitate și reutilizare. Trebuie să urmați principiul DRY. Aici se dovedește utilă biblioteca comună a lui Jenkins.
Biblioteca partajată Jenkins este ideea de a include un cod de conductă standard pentru sistemele de control al versiunilor și poate fi utilizată pe orice număr de conducte doar prin referire la acesta. Mai multe echipe pot folosi același director pentru conducta lor.
Îl puteți compara cu directoarele de programare populare. Programarea creează un ghid separat pe care oricine îl poate folosi atunci când importă cod.
De exemplu, dacă aveți zece conducte pentru microservicii din Java, vechea procedură de creare se repetă pentru toate cele zece conducte. În plus, codul conductei este copiat și lipit odată cu adăugarea de noi servicii. Dacă doriți să modificați unii parametri într-o fază de construcție veche, trebuie să îi reglați manual în toate conductele.

În același scenariu, veți crea o bibliotecă partajată pentru clădirile mai vechi. Pentru toate țevile, tot ce trebuie să faceți este să vă referiți la vechea bibliotecă de coduri de construcție. Dacă există modificări vechi în viitor, tot ce trebuie să actualizați este pictograma bibliotecă partajată.
Citiți: Idei și subiecte interesante pentru proiecte Jenkins
Începeți să utilizați biblioteci partajate
Un director partajat este o colecție de fișiere interesante (DSL + Groovy). Toate fișierele cool trebuie să fie în depozitul git. Acest exemplu folosește Github ca depozit git. https://github.com/devopscube/jenkins-shared-library. Puteți duplica acest depozit pentru a obține infrastructura bibliotecii partajate.
Baza de date a bibliotecii partajate conține următoarele structuri de volume:
Biblioteca comună Jenkins
| ____ vars
| ____ src
| ____ resurse
Vars
Conține tot codul WCL pe care îl puteți apela din conductă. Conține toate fișierele directoare cu extensia .groovy. Fișierele .txt sunt, de asemenea, acceptate pentru documentarea codului de bibliotecă care este partajat. De exemplu, dacă aveți un fișier cu numele maven-build. Groovy, atunci vei primi un fișier de ajutor cu numele maven-groovy.txt. Puteți scrie documentație de ajutor pentru a marca proprietățile unui director partajat în acest fișier. Fișierele de ajutor pot fi vizualizate din pagina <your-jenkins-url> / Pipeline Syntax / Global.
Sr
Este un director sursă Java standard. Odată ce tot textul a fost compilat, acesta va fi adăugat la calea clasei. Aici puteți adăuga un cod incredibil de cool pentru a extinde codul bibliotecii partajate. De asemenea, puteți utiliza Manifestul de import pentru a importa categoriile și extensiile Jenkins existente.
Există scenarii în care hardware-ul DSL rece nu este suficient de flexibil pentru a îndeplini anumite funcții. În acest caz, puteți scrie funcții groove personalizate în src și le puteți citi în codul bibliotecii partajate.
Resurse
Puteți gestiona toate fișierele inutile necesare pentru furtun în acest folder. De exemplu, este posibil să aveți nevoie de un șablon JSON general pentru a efectua apeluri API în timpul construcției. Puteți salva acest șablon JSON într-un folder de resurse și îl puteți apela într-o bibliotecă partajată prin funcția LibraryResource.

Trebuie citit: Salariul Jenkins în India
Biblioteca globală partajată
Există mai multe locuri în care puteți configura un director partajat, în funcție de cazul dvs. de utilizare. Jenkins Management » Configurarea sistemului » Biblioteca globală de conducte. Puteți configura orice număr de directoare după cum aveți nevoie.
Aceste biblioteci sunt disponibile universal, astfel încât fiecare conductă din sistemul dumneavoastră să poată utiliza funcțiile implementate în aceste biblioteci.
Aceste biblioteci sunt considerate „de încredere”. Puteți efectua orice metodă în Java, Groovy, API-ul intern Jenkins, extensia Jenkins sau un director terță parte. Vă permite să identificați cu precizie bibliotecile care pliază API-urile nesigure în plicuri de nivel înalt care pot fi utilizate în siguranță din orice conductă.
Vă rugăm să rețineți că oricine poate plăti comisionul acestei baze de date SCM are acces nelimitat la Jenkins. Aveți nevoie de permisiunea Total / RunScripts pentru a crea aceste directoare (această permisiune este de obicei acordată administratorilor Jenkins).
Înscrieți-vă la cursurile de inginerie software de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Bibliotecă partajată la nivel de folder
Toate folderele create pot fi legate la directoare partajate. Acest mecanism vă permite să setați un anumit interval de director pentru toate conductele dintr-un volum sau subfolder.
Directoarele bazate pe foldere nu sunt considerate „de încredere”. Funcționează în cutia de nisip cu canale, la fel ca o țeavă obișnuită.
Bibliotecă partajată automată
Alte plugin-uri pot adăuga o modalitate de a identifica biblioteca din mers. De exemplu, „GitHub Organization Folder” este un plugin sursă furnizat în GitHub Branch Source. Oferă o componentă care permite scripturilor să folosească biblioteci nesigure, cum ar fi github.com/orgname/reponame minus orice configurație adăugată. În acest caz, depozitul GitHub specificat va fi încărcat din ramura principală folosind setări anonime.
Pentru a verifica modificările în bibliotecă
Dacă observați o eroare într-o versiune cu un director care nu este de încredere, faceți clic pe linkul de reluare și editați unul sau mai multe fișiere sursă pentru a vedea dacă versiunea rezultată funcționează conform așteptărilor. Când sunteți mulțumit de rezultate, faceți clic pe linkul de diferență de pe pagina Stare lansare și aplicați diferența bibliotecii și grupului de comitere.

(Chiar dacă versiunea solicitată a bibliotecii este o ramură și nu o versiune statică precum marcajul, versiunea reactivată va folosi aceeași versiune ca și versiunea originală. Nu puteți retrage resursele bibliotecii.)
În prezent, nu vă oferă bibliotecile de încredere Replay. Modificarea fișierelor de resurse în timpul redării nu este acceptată în prezent.
Citiți și: Întrebări și răspunsuri la interviu Jenkins
Concluzie
Iată câteva dintre lucrurile importante de reținut:
- Va trebui să utilizați Groovy pentru a scrie pași sau funcții personalizate.
- Este nevoie să scrieți pași de conductă pe care îi puteți apela din conducte.
- Trebuie să creați un fișier în directorul vars al depozitului care va conține numele pasului personalizat.
- Metoda def call ar trebui implementată de parametrii pasului dumneavoastră.
- Dacă este nevoie de scrierea unui cod Groovy comun, îl puteți adăuga în src.
- De asemenea, puteți integra o bibliotecă partajată în Jenkins prin utilizarea unui ecran de configurare a sistemului.
Dacă sunteți interesat să aflați mai multe despre dezvoltarea full-stack, consultați programul Executive PG de la upGrad și IIIT-B în dezvoltarea de software full-stack, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni. , Statut de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
