Jenkins vs Travis-CI: Mi a különbség?

Tartalomjegyzék:

Anonim

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
  • A testreszabás a Jenkins CI szerver legnagyobb előnye
  • A Jenkins kinézetének megváltoztatásához átfogó bővítményarchívum konfigurálható.
  • Új funkciókat is hozzáadhat, például hitelesítést, riasztásokat és hitelesítő adatokat.
  • Integráció a GitHub & cloud szolgáltatással
  • Korlátlan, teljes funkcionalitású nyílt forráskódú projektek
  • Kiterjedt projektkonfiguráció .travis.ymi fájlon keresztül
  • Lehetővé teszi a fürtteszteket és párhuzamosan futtatja őket
  • Több építési környezet és célplatform (pl. Node 0.10,0.8,0.6, Li on).
Hátrányok
  • A Jenkins folyamatos hátrányos integrációjának egyik fő hátránya, hogy jól konfigurálható. Nincs dobozon kívüli beállítás. Ezért eltarthat két-három óra vagy nap, mire mindent konfigurál a rendszerben.
  • A Travis CI telepítésének legnagyobb hátránya, hogy a kereskedelmi tervek 129 dollár / m-nél kezdődnek, ami meglehetősen drága.
  • Nem alkalmas nagy biztonságú projektekhez
  • Más CI eszközökkel ellentétben nem kínál Bitbucket támogatást.
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.