Mi az a CI?
A folyamatos integráció egy szoftverfejlesztési módszer, ahol a csapat tagjai naponta legalább egyszer integrálhatják munkájukat. Ebben a módszerben minden integrációt egy automatikus összeállítás ellenőriz a hiba megkeresésére. A CI-koncepciót több mint két évtizeddel ezelőtt vezették be az "integrációs pokol" elkerülése érdekében, amely akkor történik, amikor az integrációt egy projekt végéig elhalasztják.
Ebben az oktatóanyagban megtanulja
- Mi az a CI?
- Mi a Travis CI?
- Mi az a Jenkins?
- Mit csinál Travis?
- Mit csinált Jenkin?
- A Travis CI jellemzői:
- Jenkin jellemzői:
- Travis vs. Jenkins
- Népszerűségi index
- Melyik a jobb?
Hogyan működik a CI?
- A fejlesztők kódot írnak és változtatásokat hajtanak végre a megosztott adattárban
- Ezt követően a CI-kiszolgáló figyeli az adattárat és kiértékeli az összes változást
- A CI felépíti a rendszert, elvégzi az integrációt és az egység teszteket
- A szerver kiadja a telepíthető tárgyakat
- A Continous integrációs kiszolgáló egy buildcímkét rendel hozzá a verzióhoz és az építési kódhoz
- Ezután a CI szerver jelentést tesz a csapatnak a sikeres összeállításról. Ha a tesztek sikertelenek, a szerver figyelmeztet az eseményről a fejlesztői csapatnak. A csapat a lehető leggyorsabban megoldja a problémákat.
FŐ KÜLÖNBSÉG
- A Travis CI egy kereskedelmi CI eszköz, míg a Jenkins egy nyílt forráskódú eszköz.
- A Travis CI-nek nagyon kevesebb időbe telik az indulás, míg Jenkinsnek bonyolult beállításra van szüksége.
- A Travis CI kevesebb testreszabási lehetőséget kínál, míg a Jenkins hatalmas testreszabási lehetőségeket kínál.
- A Travis CI rendelkezik YAML konfigurációs fájllal, míg a Jenkins teljes konfigurációs lehetőséget biztosít a felhasználó számára.
Mi a Travis CI?
A Travis CI volt az első CI, mint szolgáltatási eszköz. Új megközelítést vezetett be a felhőben történő építési szabályzatról. Ez a CI eszköz lehetővé teszi a felhasználó számára a regisztrációt, az adattár összekapcsolását, az építést és az alkalmazások tesztelését.
A Travis CI eszköz könnyen integrálható a közös felhőtárakba, például a GitHub és a Bitbucket. Számos automatizált CI-lehetőséget kínál, amelyek kiküszöbölik egy dedikált szerver szükségességét, mivel a Travis CI-kiszolgáló a felhőben van. Ez lehetővé teszi a tesztelést különböző környezetekben, különböző gépeken, különböző operációs rendszereken futva.
A Travis CI ingyenes a nyílt forráskódú projektekhez. Kereskedelmi projektekhez vállalati tervet kell vásárolnia.
Mi az a Jenkins?
A Jenkins egy díjnyertes folyamatos integrációs eszköz, amely figyeli a telepítési ciklusok végrehajtását. A Sun szoftvermérnökök csoportjának mellékprojekteként indult. Később kibővítették az egyik népszerű nyílt forráskódú CI eszközként, amely segíti a szoftverfejlesztő csapatokat a telepítések automatizálásában.
A Jenkins egy Java-alapú eszköz, ami azt jelenti, hogy csak a Java futásidejű környezetre van szüksége a működéséhez. Ezért a Jenkins telepíthető minden olyan operációs rendszerre, ahol a Java fut.
Ebben az eszközben a fejlesztők megadhatják a testreszabott buildek feltételeit is. Jenkins hatalmas plugin archívumot támogat. Ez lehetővé teszi a fejlesztők számára, hogy megváltoztassák Jenk kinézetét és működését.
Ezenkívül a Jenkins Pipeline bővítménycsomag speciális eszközöket tartalmaz, amelyek lehetővé teszik a fejlesztők számára, hogy a DSL (Digital Subscribe line) módszerrel modellezzék az egyszerűen összetett kézbesítési folyamatokat.
Mit csinál Travis?
A Travis CI a következő előnyöket kínálja:
- Figyelheti a GitHub projekteket
- Futás Teszteljen és eredményeket generáljon gyorsan. Párhuzamos tesztfuttatás lehetséges.
- Készítsen műtárgyakat és ellenőrizze a kód minőségét
- Könnyű telepítés a felhőszolgáltatásokhoz
- Kis és nagy kódváltozásokat is képes azonosítani.
- A fejlesztők a Travis CI segítségével figyelhetik a teszteket, amikor futnak.
- Az eszköz integrálódik a Slack, HipChat, Email stb.
Mit csinál Jenkin?
A Jenkins lehetővé teszi az építkezés, tesztelés és telepítés automatizálását. Az eszköz támogatja a különböző operációs rendszereket, például a Windows, a Mac OSX és a Linux rendszereket.
Ezenkívül a Jenkins lehetővé teszi a kód gyors elkészítését és tesztelését, hogy korai visszajelzést kapjon arról, hogy készen áll-e a gyártásra. A legtöbb esetben Jenkin kevés módosítást igényel a csapat egyéni igényeinek megfelelően.
A Travis CI jellemzői:
- Automatikus integráció a GitHub-tal
- A tárházhoz való hozzáférés a pull kérések összeállításához
- 21 nyelv támogatása, például Android, C, C #, C ++, Java, JavaScript (a Node.js használatával), Perl, PHP, Python, R, Ruby stb.
- Előre telepített építési és tesztelő eszközök
- Elérhető szolgáltatások - adatbázisok, üzenetsorok stb.
- Telepítés több felhőszolgáltatáshoz
- Titkosítsa a biztonságos környezeti változókat vagy fájlokat
- Virtuális gépek újjáépítettek minden építkezés után
- CLI kliens és API a parancsfájlokhoz
- Ingyenes felhőalapú tárhely tartozik hozzá, amely nem igényel karbantartást vagy adminisztrációt.
Jenkin jellemzői:
- Könnyen telepíthető, frissíthető és konfigurálható
- Distributed Builds
- Külső munkák figyelemmel kísérése
- Több mint 600 beépülő modul a Jenkins-környezet testreszabásához
- Több mint 1000 + nyilvános tárhely a Github-on, több mint 500 közreműködő, erős elkötelezettség
- Különféle hitelesítési módszerek, verziókezelő rendszerek, értesítések stb. Támogatása
- A Jenkins biztosítja a távoli hozzáférés API-t és annak funkcióit.
- Nagy teljesítményű CI / CD eszköz biztosítása nagy projektekhez
- Támogatja a különböző munkamodelleket, például a Freestyle, a Pipeline stb.
- Lehetővé teszi a fejlesztők számára a bővítmények hozzáadását
- Kompatibilis a Docker, a Libvirt, a Kubernetes és sok más programmal
Travis vs. Jenkins
Paraméter | Jenkin | Travis |
---|---|---|
Költség | Jenkins szabad. De a fejlesztői csapatnak futtatnia és karbantartania kell dedikált szerverét. Ez többletkiadásnak tekinthető. | A Travis CI vállalati lakosztályok havi 129 dollárnál kezdődnek. Költségnövekedés a szükséges támogatási szint alapján. |
Idő beállítása | Jenkinsnek bonyolult beállításra van szüksége. Tehát nagyon hosszú várakozási idő vár a teljes telepítésre. | Nagyon kevesebb időbe telik az indulás. Hozzon létre egy konfigurációs fájlt, és kezdje el az integrációt. |
Teljesítmény | Ha korlátlan testreszabási lehetőségekkel rendelkező CI-eszközt keres, akkor a Jenkins a legjobb választás az Ön számára. | A Travis CI a legjobb választás, ha nyílt forráskódú projektben dolgozik. |
Szerszám típusa | Ez egy nyílt forráskódú, ingyenesen használható eszköz. | Ez egy kereskedelmi CI eszköz |
Használat | Könnyen kezelhető | Rugalmasan használható |
Github | Jó Githubnak | Kiváló a Github számára |
Támogatás | Széleskörű támogatás a közösség részéről. | Korlátozott támogatás a közösség számára. |
Előnyök |
|
|
Hátrányok |
|
|
Felhasználási tervek | Ingyenes | Ingyenes nyílt forráskódú projektekhez. Fizetett az Enterprise-ért. |
Kiszolgáló gép | Szerver alapú | Felhőalapú |
Testreszabási lehetőségek | Több | Kevésbé |
Konfiguráció | Teljesen testreszabható | YAML |
A rendszer ellenőrzése | Teljes | Nagyon kevés |
Népszerűségi index
A Jenkins és Travis címkével ellátott kérdések száma a Stack Overflow-ban.
Melyik a jobb?
Így a fenti megbeszéléssel azt tapasztalhatjuk, hogy Travis és Jenkins egyaránt csodálatos funkciókat kínál. Azonban a kis, nyílt forráskódú projektek a legalkalmasabbak a Travis CI számára, mivel könnyen futtatható és gyorsan beállítható. Másrészt a nagyvállalkozások a legalkalmasabbak a Jenkins számára, mivel ingyenes licencszolgáltatást kínálnak egy magánprojekthez és a testreszabható funkciók széles skáláját kínálják. Tehát elmondhatjuk, hogy ezek a folyamatos integrációs eszközök jóak a maga módján.