Mi a JenkinsMiért érdemes folyamatos integrációs (CI) eszközt használni?
Mi a Jenkins?
Jenkins egy nyílt forráskódú Continuous Integration szerver Java a folyamatos integrációs folyamat automatizált módon történő megvalósításához szükséges cselekvési láncolat összehangolásához. Jenkins támogatja a szoftver teljes fejlesztési életciklusát a szoftver létrehozásától, tesztelésétől, dokumentálásától, telepítésétől és a szoftverfejlesztési életciklus egyéb szakaszaitól kezdve.
Jenkins egy világszerte széles körben használt alkalmazás, amely körülbelül 300 ezer telepítéssel rendelkezik, és napról napra növekszik. A Jenkinsa szoftvercégek felgyorsíthatják szoftverfejlesztési folyamataikat, mivel Jenkins gyorsan automatizálhatja a build és a tesztelés folyamatát.
Ez egy szerver alapú alkalmazás, és webszervert igényel, mint például az Apache Tomcat. Az ok... Jenkins A szoftverek népszerűségének egyik előnye, hogy képesek figyelni a projekt fejlesztése során felmerülő ismétlődő feladatokat. Például, ha a csapatod fejleszt...ping egy projekt, Jenkins folyamatosan teszteli a projekted buildjeit, és már a fejlesztés korai szakaszában megmutatja a hibákat.
Mi az a folyamatos integráció?
Folyamatos integráció egy olyan folyamat, amelynek során többszörösen integrálják a több fejlesztőtől származó kódmódosításokat egyetlen projektbe. A szoftvert a kód véglegesítése után azonnal teszteljük. Minden kód véglegesítéskor a kód összeállításra és tesztelésre kerül. Ha a teszt sikeres, a rendszer teszteli a build telepítését. Ha a központi telepítés sikeres, a kód elküldésre kerül az éles verzióra.
Ez a véglegesítés, összeállítás, tesztelés és üzembe helyezés folyamatos folyamat, és innen ered a folyamatos integráció/telepítés elnevezés.
Hogyan működik Jenkins működik?
Jenkins egy szerver alapú alkalmazás, amelynek futtatásához webszerverre, például Apache Tomcatre van szükség különböző platformokon, például WindowsLinux, macOS, Unix stb. Használatához Jenkins, létre kell hoznod olyan folyamatokat, amelyek lépések sorozata, amelyet egy Jenkins a szerver fogja átvenni. Jenkins A folyamatos integrációs folyamat egy hatékony eszköz, amely egy sor olyan eszközből áll, amelyek célja vendéglátó, monitor, összeállít és a teszt kód, vagy kódmódosítások, például:
- Folyamatos integrációs szerver (Jenkins, Bamboo, CruiseControl, TeamCityés mások)
- Forrásvezérlő eszköz (pl. CVS, SVN, GIT, Mercurial, Perforce, ClearCase és mások)
- Építőeszköz (Make, ANT, Maven, Ivy, Gradleés mások)
- Automatizálási tesztelési keretrendszer (Selenium, Appium, TestComplete, UFTés mások)
Jenkin története
- Kohsuke Kawaguchi, a Java A SUN Microsystems-nél dolgozó fejlesztő belefáradt a kódkészítésbe és a hibák ismétlődő javításába. 2004-ben létrehozott egy Hudson nevű automatizálási szervert, amely automatizálja az építési és tesztelési feladatokat.
- A 2011, Oracle A Sun Microsystems tulajdonosa vitába keveredett a Hudson nyílt forráskódú közösségével, ezért kettéosztották a Hudsont, és átnevezték Jenkins.
- Mind Hudson, mind Jenkins továbbra is függetlenül működött. De rövid időn belül Jenkins sok projektet és közreműködőt szerzett, míg a Hudson csak 32 projekttel maradt. Idővel, Jenkins népszerűbbé vált, és a Hudsont már nem tartják karban.
Miért érdemes folyamatos integrációt használni? Jenkins?
Vannak, akik azt gondolhatják, hogy a fejlesztés régimódi módjaping a szoftver a jobb megoldás. Értsük meg a CI előnyeit Jenkins a következő példával
Képzeljük el, hogy körülbelül 10 fejlesztő dolgozik a megosztott adattár. Egyes fejlesztők 25 nap alatt végzik el a feladatukat, míg mások 30 napot vesznek igénybe.
| Előtt Jenkins | Után Jenkins |
|---|---|
| Miután az összes Fejlesztő elvégezte a rájuk rendelt kódolási feladatokat, egyidejűleg véglegesítette a kódját. Later, A Build tesztelése és telepítése megtörtént.
Code commit build, és a tesztciklus nagyon ritka volt, és egyetlen build sok nap után készült el. |
A kód elkészítése és tesztelése azonnal megtörténik, amint a fejlesztő véglegesíti a kódot. A Jenkin a nap folyamán sokszor elkészíti és teszteli a kódot
Ha a kivitelezés sikeres, akkor Jenkins telepíti a forráskódot a tesztszerverre, és értesíti a telepítőcsapatot. Ha a kivitelezés sikertelen, akkor Jenkins értesíti a hibákat a fejlesztőcsapatnak. |
| Mivel a kód egyszerre készült, egyes fejlesztőknek meg kell várniuk, amíg más fejlesztők befejezik a kódolást, hogy ellenőrizzék a felépítésüket. | A kód közvetlenül a Fejlesztői commit után készül. |
| Nem könnyű feladat elkülöníteni, észlelni és kijavítani a hibákat több véglegesítés esetén. | Mivel a kódot egyetlen fejlesztő minden commit után készíti el, könnyen megállapítható, hogy kinek a kódja okozta a beépített kudarcot. |
| Code épít és tesztfolyamat teljesen manuálisak, így sok a meghibásodás esélye. | Automatizált építési és tesztelési folyamat, amely időt takarít meg és csökkenti a hibákat. |
| A kód az összes hiba kijavítása és tesztelése után kerül telepítésre. | A kód minden sikeres felépítés és tesztelés után kerül telepítésre. |
| A fejlesztési ciklus lassú | A fejlesztési ciklus gyors. Az új funkciók könnyebben elérhetők a felhasználók számára. Növeli a profitot. |
A folyamatos integráció valós esettanulmánya
Biztos vagyok benne, hogy mindannyian tisztában vannak a régi Nokia telefonnal. A Nokia korábban bevezette az éjszakai összeépítés nevű eljárást. A különböző fejlesztők napközbeni többszöri véglegesítése után a szoftver minden este elkészült. Mivel a szoftvert naponta csak egyszer készítették el, óriási fájdalom a nagy kódbázisban található hibák elkülönítése, azonosítása és kijavítása.
Later, a Continuous Integration megközelítést alkalmazták. A szoftver megépítése és tesztelése azonnal megtörtént, amint egy fejlesztő kódot fogadott el. Ha bármilyen hibát észlel, a megfelelő fejlesztő gyorsan kijavíthatja a hibát.
Jenkins Dugó
Alapértelmezésben, Jenkins korlátozott számú funkcióval rendelkezik. Ha integrálni szeretné a Jenkins verziókövető eszközökkel, például a Gittel történő telepítés esetén telepíteni kell a Githez kapcsolódó bővítményeket. Valójában a Mavenhez hasonló eszközökkel való integrációhoz Amazon EC2 esetén telepítenie kell a megfelelő bővítményeket a számítógépére. Jenkins.

A használat előnyei Jenkins
- Jenkins a közösség kezeli, amely nagyon nyitott. Minden hónapban nyilvános találkozókat tartanak, és a nyilvánosság véleményét is kikérik a fejlesztéshez. Jenkins projektet.
- Eddig körülbelül 280 jegyet zártak le, és a projekt háromhavonta stabil kiadást tesz közzé.
- Ahogy a technológia fejlődik, úgy fejlődik JenkinsEddig Jenkins körülbelül 320 bővítményt tett közzé a bővítmény-adatbázisában. A bővítményekkel Jenkins még erősebbé és funkciógazdagabbá válik.
- Jenkins az eszköz támogatja a felhőalapú architektúrát is, így telepítheti Jenkins felhőalapú platformokon.
- Az ok, amiért Jenkins azért vált népszerűvé, mert egy fejlesztő készítette fejlesztők számára.
A használat hátrányai Jenkins
Bár Jenkins egy nagyon hatékony eszköz, de vannak hibái.
- A felület elavult, és a jelenlegi felhasználói felületi trendekhez képest nem felhasználóbarát.
- Bár Jenkins sok fejlesztő szereti, de a karbantartása nem olyan egyszerű, mert Jenkins egy szerveren fut, és bizonyos szerveradminisztrátori ismereteket igényel a tevékenységének figyeléséhez.
- Az egyik oka annak, hogy sokan nem alkalmazzák Jenkins a telepítés és konfigurálás nehézségei miatt van Jenkins.
- A folyamatos integráció rendszeresen megszakad néhány apró beállítási változtatás miatt. A folyamatos integráció szünetel, ezért némi fejlesztői figyelmet igényel.
Összegzés
- Folyamatos integráció esetén a kód véglegesítése után a szoftver azonnal megépül és tesztelésre kerül
- Jenkins egy szoftverprojekt folyamatos integrációjához kapcsolódó műveletlánc összehangolására használják
- Előtt Jenkins Amikor minden fejlesztő elvégezte a rá kijelölt kódolási feladatokat, egyszerre commitolták a kódjukat. Later, A Build tesztelése és telepítése megtörtént.
- Után Jenkins A kód felépítése és tesztelése azonnal megtörténik, amint a fejlesztő véglegesíti a kódot. A Jenkin a nap folyamán többször is felépíti és teszteli a kódot.
- Alapértelmezésben, Jenkins korlátozott számú funkcióval rendelkezik. Ha integrálni szeretné a Jenkins verziókövető eszközökkel, például a Gittel történő telepítés esetén telepíteni kell a Githez kapcsolódó bővítményeket. Ellenőrizze azt is, hogy Legjobb Jenkins Alternatív eszközök
- A legnagyobb előnyei Jenkins az, hogy a közösség kezeli, amely nyilvános üléseket tart és a nyilvánosság véleményét is figyelembe veszi a fejlesztés során. Jenkins projektek
- A legnagyobb csalás Jenkins az, hogy a kezelőfelülete elavult és nem felhasználóbarát a jelenlegi felhasználói felület trendekhez képest. Ha más lehetőségeket is fontolgat, amelyek modernebb felhasználói élményt kínálhatnak, érdemes lehet megvizsgálni a következőket: legjobb folyamatos integrációs eszközök rendelkezésre álló.

