În ciuda faptului că se confruntă cu o concurență crescută, Jenkins rămâne unul dintre cele mai populare servere de integrare continuă. Acesta a fost creat în timpul faimoasei divizări a comunității Hudson, care a avut loc după ce gigantul software Oracle a preluat controlul asupra Hudson cu sursă deschisă, într-o mișcare care a înflăcărat comunitatea de dezvoltare și a aprins internetul cu dezbateri aprinse.
Veștile bune pentru dezvoltatorii de pretutindeni care cred în importanța păstrării software-ului cu sursă deschisă din mâinile marilor corporații este că în bătălia ulterioară dintre Hudson și Jenkins, Jenkins a fost cel care a ieșit victorios.
O parte a motivului din spatele acestui lucru a fost numărul mare de plugin-uri Jenkins superbe care au fost dezvoltate de comunitatea Jenkins. În momentul de față, Jenkins are peste 1.500 de plugin-uri care ajută dezvoltatorii să automatizeze părți mari din dezvoltarea proiectelor. Aceste plugin-uri pot ajuta cu sarcini care variază de la ajutor în livrarea continuă, transferul de fișiere de la un proiect la altul, afișarea proiectelor Jenkins în JIRA și așa mai departe, și așa mai departe.
Din moment ce fiecare dintre aceste plugin-uri rezolvă probleme diferite, nu este o sarcină ușoară de a alege cele mai bune plugin-uri Jenkins. Așa că, mai degrabă decât să stârnesc controverse, în acest articol, îmi propun să detaliez unele dintre cele mai utile plugin-uri care ajută dezvoltatorii să economisească timp, precum și să le facă viața mai ușoară.
Pentru a lărgi atractivitatea acestui articol, am ales un amestec de plugin-uri, dintre care unele vor fi pe placul dezvoltatorilor individuali, iar altele vor fi utile pentru echipele mari de dezvoltare.
- Job DSL
O problemă cu care se vor fi confruntat mulți dezvoltatori care se bazează pe Jenkins pentru a lucra la mai multe sarcini este aceea de a trebui să configureze în mod repetat fiecare sarcină nouă pe care o încep. Acest lucru nu numai că este foarte consumator de timp (având în vedere că mulți programatori cu normă întreagă lucrează la 100 de locuri de muncă pe an), dar, de asemenea, poate face ca munca lor să pară cu adevărat monotonă.
Jenkins Job DSL plugin permite programatorilor să folosească Groovy pentru a defini locurile de muncă și a configura un set comun de elemente pentru acestea. Plugin-ul menține apoi aceste scripturi și actualizează automat informațiile despre joburi. Acest lucru le permite programatorilor să creeze șabloane standardizate folosind limbajul specific domeniului (DSL), ceea ce face ca configurarea de noi proiecte să fie floare la ureche.
2. Job Generator Plugin
Pentru managerii de proiect și echipele de dezvoltare care sunt implicate în dezvoltarea de proiecte pe scară largă, urmărirea progresului lucrărilor poate fi, în cel mai bun caz, un coșmar. Plugin-ul Jenkins Job Generator permite managerilor de proiect responsabili de o anumită conductă Jenkins să autorizeze dezvoltatorii din echipa lor să creeze noi șabloane de lucrări care pot fi apoi folosite pentru a începe noi proiecte/ramuri de dezvoltare.
Chiar dacă este posibil să faceți acest lucru manual, încă o dată această sarcină poate consuma foarte mult timp, mai ales dacă proiectul dumneavoastră are mai multe conducte. Avantajul plugin-ului Job Generator față de plugin-ul Job DSL de mai sus este că nu necesită ca programatorii să cunoască Groovy.
3. Performance Plugin
Acesta este un instrument foarte interesant cu care se pot juca dezvoltatorii. Acesta le permite dezvoltatorilor să captureze rapoarte de la o gamă întreagă de instrumente de testare care includ JUnit, JMeter, Lago și Taurus de la Twitter. Puteți vizualiza informațiile referitoare la performanța proiectului dvs. în Jenkins prin intermediul unor diagrame și grafice. Acesta este un exemplu excelent de plugin Jenkins de top pentru grafice.
4. GitHub/GitLab Pull Request Builder
Acest plugin Git foarte popular pentru Jenkins permite dezvoltatorilor să automatizeze cu ușurință revizuirea codului. La inițierea unui pull request, pluginul va prelua sursa și rezultatele compilării, astfel încât dezvoltatorii să poată vedea rapid dacă codul lor este corect.
Acest minunat plugin permite, de asemenea, dezvoltatorilor să inițieze fuziunea automată, cu condiția ca codul să treacă de revizuire.
5. JIRA Plugin
Lansat în decembrie 2016, pluginul JIRA face destul de mult ceea ce scrie pe cutie. Acesta permite dezvoltatorilor să integreze JIRA în Jenkins. Multe echipe de dezvoltare folosesc JIRA destul de mult, astfel încât posibilitatea de a vizualiza Jenkins prin JIRA ajută la eficientizarea procesului de dezvoltare.
6. Kubernetes Plugin
Pentru acele echipe de dezvoltare care rulează mai multe proiecte în același timp, Jenkins poate fi frustrant uneori, deoarece nu oferă cu adevărat o scalabilitate mare a serverului. Această problemă este rezolvată de Kubernetes Plugin care permite acelor dezvoltatori care folosesc Kubernetes să automatizeze procesul de scalare a rulării sclavilor Jenkins în mediul Kubernetes.
Pentru acei dezvoltatori care folosesc Docker Swarm, atunci Jenkins Self-Organizing Swarm Modules Plugin vă va permite să adăugați scalabilitate la Jenkins în același mod. Odată instalate, ambele versiuni vă vor permite să vă continuați munca în Jenkins fără să vă faceți griji cu privire la problemele de scalabilitate.
7. Build Pipeline Plugin
În timp ce integrarea continuă este o modalitate excelentă de a dezvolta proiecte, aceasta ridică și o serie de provocări. Urmărirea tuturor aspectelor de progresie a lucrărilor, inclusiv asigurarea calității, poate fi o adevărată provocare atunci când avem de-a face cu proiecte complexe cu mai multe niveluri.
Jenkins Build Pipeline plugin permite managerilor de proiect să creeze un lanț de lucrări conectate, astfel încât să poată avea o imagine mult mai clară a tuturor etapelor proiectului. Plugin-ul permite managerilor să decidă ce etape pot fi automatizate sau necesită intervenție manuală. Acest plugin superb le permite cu adevărat dezvoltatorilor să preia controlul deplin asupra proiectelor lor, motiv pentru care este utilizat de atât de multe echipe de dezvoltare software.
8. SCM Sync Configuration Plugin
Datele de configurare pierdute au ținut mulți manageri de proiect treji noaptea. Nu numai că este nevoie de timp pentru a o remedia, dar este și complet prevenibilă. În același mod în care codul poate fi salvat în depozite, cu ajutorul acestui plugin la îndemână, pot fi salvate și fișierele de configurare Jenkins.
Acest SCM Sync Configuration Plugin permite salvarea automată a fișierelor de configurare într-un depozit SCM. Nu numai atât, dar acest plugin va urmări, de asemenea, orice modificări, oferind astfel managerilor o imagine clară a oricăror modificări. Este un instrument popular de backup Jenkins pe care ar trebui să îl conțină orice cutie de instrumente a dezvoltatorului Jenkins.
9. Jenkins Maven plugin
Maven este foarte îndrăgit pentru că oferă un layout de construire a proiectelor standard ușor de utilizat. Acest lucru ajută dezvoltatorii să economisească timp la începutul proiectelor, permițându-le să sară direct la început și să nu trebuiască să-și facă griji cu privire la acest aspect de familiarizare cu proiectul.
Acest plugin permite lui Jenkins să monitorizeze compilările Maven pentru a permite arhivarea automată a rapoartelor și pentru a ajuta la compilări paralele sau incrementale ale modulelor etc. Este ușor de configurat și nu necesită prea mult în ceea ce privește configurația Jenkins.
10 . Jenkins Subversion plugin
Cu un număr mare de dezvoltatori care încă folosesc Apache Subversion, a existat o nevoie copleșitoare de un plugin Jenkins pentru a integra cele două. Acest plugin va monitoriza modificările și va declanșa noi compilări după cum și când este necesar, precum și actualizarea automată a spațiului de lucru, astfel încât acesta să fie pregătit pentru a începe noua compilare.
.