A Jenkins a növekvő verseny ellenére továbbra is az egyik legnépszerűbb folyamatos integrációs szerver. A hírhedt Hudson közösségi megosztottság idején jött létre, ami azután következett be, hogy a szoftveróriás Oracle átvette az ellenőrzést a nyílt forráskódú Hudson felett, ami felbőszítette a fejlesztői közösséget, és heves vitákkal gyújtotta fel az internetet.
A jó hír minden olyan fejlesztő számára, aki hisz annak fontosságában, hogy a nyílt forráskódú szoftverek ne kerüljenek a nagyvállalatok kezébe, hogy az ezt követő Hudson vs. Jenkins csatában a Jenkins győzött.
Az ok részben a Jenkins közösség által kifejlesztett kiváló Jenkins bővítmények száma volt. Jelenleg a Jenkins több mint 1500 bővítményt tartalmaz, amelyek segítségével a fejlesztők automatizálhatják a projektfejlesztés nagy részét. Ezek a bővítmények a folyamatos szállítás segítésétől kezdve a fájlok egyik projektből a másikba való átvitelén át a Jenkins-projektek JIRA-ban való megjelenítéséig, és így tovább, és így tovább.
Mivel ezek a bővítmények mindegyike más-más problémát old meg, nem könnyű feladat kiválasztani a legjobb Jenkins-pluginokat. Ezért ahelyett, hogy vitát szítanék, ebben a cikkben célom, hogy részletezzek néhányat a leghasznosabb pluginek közül, amelyek segítenek a fejlesztőknek időt megtakarítani, valamint megkönnyítik az életüket.
A cikk vonzerejének kiszélesítése érdekében olyan pluginek keverékét választottam, amelyek közül néhány az egyéni fejlesztők számára lesz vonzó, mások pedig a nagy fejlesztőcsapatok számára lesznek hasznosak.
- Job DSL
Egy probléma, amit sok fejlesztő, aki a Jenkinsre támaszkodva több munkán dolgozik, biztosan tapasztalt már, hogy minden egyes újonnan indított munkát ismételten konfigurálnia kell. Ez nem csak nagyon időigényes (figyelembe véve, hogy sok teljes munkaidős programozó évente több száz munkán dolgozik), de valóban monotonná is teheti a munkájukat.
A Jenkins Job DSL plugin lehetővé teszi a programozók számára, hogy a Groovy segítségével definiálják a munkákat és konfigurálják a számukra közös elemkészletet. A plugin ezután karbantartja ezeket a szkripteket és automatikusan frissíti a munkainformációkat. Ez lehetővé teszi a programozók számára, hogy szabványosított sablonokat hozzanak létre a Domain Specific Language (DSL) segítségével, ami az új projektek beállítását gyerekjátékká teszi.
2. Job Generator Plugin
A nagyszabású projektfejlesztéssel foglalkozó projektvezetők és fejlesztőcsapatok számára a munkák előrehaladásának nyomon követése a legjobb esetben is rémálom lehet. A Jenkins Job Generator plugin lehetővé teszi az adott Jenkins csővezetékért felelős projektmenedzserek számára, hogy felhatalmazzák a csapatukban dolgozó fejlesztőket új munkasablonok létrehozására, amelyeket aztán új projektek/fejlesztési ágak indítására használhatnak.
Míg ez manuálisan is elvégezhető, ez a feladat ismét nagyon időigényes lehet, különösen, ha a projekt több csővezetékből áll. A Job Generator Plugin előnye a fenti Job DSL pluginnal szemben, hogy a programozóknak nem kell ismerniük a Groovy-t.
3. Performance Plugin
Ez egy igazán klassz eszköz, amellyel a fejlesztők játszhatnak. Lehetővé teszi a fejlesztők számára a tesztelési eszközök egész sorából származó jelentések rögzítését, amelyek közé tartozik a JUnit, a JMeter, a Twitter Lago és a Taurus. A projekt teljesítményére vonatkozó információkat a Jenkinsben diagramokon és grafikonokon keresztül tekintheti meg. Ez egy remek példa a legjobb Jenkins grafikus pluginra.
4. GitHub/GitLab Pull Request Builder
Ez a rendkívül népszerű Git plugin a Jenkinshez lehetővé teszi a fejlesztők számára a kód felülvizsgálatának egyszerű automatizálását. Egy pull request kezdeményezésekor a plugin lekérdezi a forrást és a build eredményeit, így a fejlesztők gyorsan láthatják, hogy a kódjuk megfelelő-e.
Ez a nagyszerű plugin azt is lehetővé teszi a fejlesztők számára, hogy automatikus összevonást kezdeményezzenek, feltéve, hogy a kód átmegy a felülvizsgálaton.
5. JIRA plugin
A 2016 decemberében megjelent JIRA plugin nagyjából azt teszi, ami a dobozon áll. Lehetővé teszi a fejlesztők számára a JIRA integrálását a Jenkinsbe. Sok fejlesztőcsapat elég sokat használja a JIRA-t, így a Jenkins JIRA-n keresztül történő megtekintése segít a fejlesztési folyamat racionalizálásában.
6. Kubernetes Plugin
Azoknak a fejlesztőcsapatoknak, akik egyszerre több projektet futtatnak, a Jenkins néha frusztráló lehet, mert nem igazán kínál nagy szerver skálázhatóságot. Ezt a problémát oldja meg a Kubernetes Plugin, amely lehetővé teszi a Kubernetes-t használó fejlesztők számára, hogy automatizálják a Jenkins slave-ek Kubernetes környezetben történő futtatásának skálázási folyamatát.
A Docker Swarmot használó fejlesztők számára, akkor a Jenkins Self-Organizing Swarm Modules Plugin lehetővé teszi, hogy a Jenkins skálázhatóságát ugyanilyen módon adják hozzá. Telepítés után mindkét verzió lehetővé teszi, hogy a Jenkins munkáját anélkül folytassa, hogy a skálázhatósági problémák miatt kellene aggódnia.
7. Build Pipeline plugin
Míg a folyamatos integráció nagyszerű módja a projektek fejlesztésének, számos kihívást is felvet. A munkák előrehaladásának minden aspektusát nyomon követni, beleértve a minőségbiztosítást is, elég nagy kihívást jelenthet, ha összetett, többrétegű projektekről van szó.
A Jenkins Build Pipeline plugin lehetővé teszi a projektvezetők számára, hogy összekapcsolt munkák láncolatát hozzák létre, így sokkal tisztább képet kaphatnak a projekt pipeline minden szakaszáról. A bővítmény lehetővé teszi a vezetők számára, hogy eldöntsék, mely lépések automatizálhatók, illetve melyek igényelnek kézi beavatkozást. Ez a kiváló plugin valóban lehetővé teszi a fejlesztők számára, hogy teljes mértékben átvegyék az irányítást a projektjeik felett, ezért használja oly sok szoftverfejlesztő csapat.
8. SCM Sync Configuration Plugin
Az elveszett konfigurációs adatok sok projektmenedzsert tartottak már ébren éjszakánként. Nemcsak időbe telik a helyreállítása, de teljesen megelőzhető is. Ugyanúgy, ahogy a kódról is készíthető biztonsági mentés a tárolókba, ennek a praktikus bővítménynek a segítségével a Jenkins konfigurációs fájljairól is.
Ez az SCM Sync Configuration Plugin lehetővé teszi a konfigurációs fájlok automatikus mentését egy SCM tárolóba. Nem csak ez, de ez a plugin nyomon követi a változásokat is, ezáltal a menedzserek számára világos képet ad a változásokról. Ez egy népszerű Jenkins mentési eszköz, amelyet minden Jenkins-fejlesztő eszköztárának tartalmaznia kell.
9. Jenkins Maven plugin
A Maven nagyon kedvelt, mert könnyen használható szabványos projektépítési elrendezést biztosít. Ez segít a fejlesztőknek időt megtakarítani a projektek kezdetén, mivel lehetővé teszi számukra, hogy rögtön a mélyvízbe ugorjanak, és ne kelljen aggódniuk a projekt megismerésének ezen aspektusa miatt.
Ez a plugin lehetővé teszi a Jenkins számára a Maven-építések felügyeletét, hogy lehetővé tegye a jelentések automatikus archiválását, és segítsen a párhuzamos vagy inkrementális modulépítésekben stb. Könnyen beállítható, és nem igényel sok mindent a Jenkins konfigurálásához.
10 . Jenkins Subversion plugin
Mivel még mindig rengeteg fejlesztő használja az Apache Subversiont, nagy szükség volt egy Jenkins pluginra a kettő integrálására. Ez a plugin figyeli a változásokat, és szükség esetén új buildeket indít, valamint automatikusan frissíti a munkaterületet, hogy az készen álljon az új build indítására.