Čo je to CI?
Nepretržitá integrácia je metóda vývoja softvéru, pri ktorej môžu členovia tímu integrovať svoju prácu aspoň raz za deň. V tejto metóde je každá integrácia kontrolovaná automatizovaným zostavením na vyhľadanie chyby. Koncept CI bol prvýkrát predstavený pred dvoma desaťročiami, aby sa predišlo „integračnému peklu“, ktoré sa stane, keď sa integrácia odloží na koniec projektu.
V tomto návode sa naučíte
- Čo je to CI?
- Čo je Travis CI?
- Čo je Jenkins?
- Čo robí Travis?
- Čo urobila Jenkin?
- Vlastnosti Travis CI:
- Vlastnosti Jenkin:
- Travis vs. Jenkins
- Index obľúbenosti
- Ktorý je lepší?
Ako funguje CI?
- Vývojári napíšu kód a vykonajú zmeny v zdieľanom úložisku
- Potom server CI monitoruje úložisko a vyhodnocuje všetky zmeny
- CI buduje systém a vykonáva integráciu a jednotkové testy
- Server vydáva nasaditeľné artefakty
- Server pre nepretržitú integráciu priradí verzii značku a verziu kódu budovy
- Potom server CI informuje tím o úspešnom zostavení. Ak testy zlyhajú, server o udalosti upozorní vývojový tím. Tím opraví problémy čo najrýchlejšie.
KĽÚČOVÝ ROZDIEL
- Travis CI je komerčný nástroj CI, zatiaľ čo Jenkins je nástroj typu open-source.
- Travisovi CI trvá zahájenie veľmi kratšie, kým Jenkins potrebuje zložité nastavenie.
- Travis CI ponúka menej možností prispôsobenia, zatiaľ čo Jenkins ponúka obrovské možnosti prispôsobenia.
- Travis CI má konfiguračný súbor YAML, zatiaľ čo Jenkins poskytuje používateľovi úplnú možnosť konfigurácie.
Čo je Travis CI?
Travis CI bol prvý CI ako nástroj služby. Zaviedlo nový prístup k tvorbe kódu v cloude. Tento nástroj CI umožňuje používateľovi prihlásiť sa, prepojiť svoje úložisko, vytvárať a testovať svoje aplikácie.
Nástroj Travis CI sa dá ľahko integrovať do bežných cloudových úložísk ako GitHub a Bitbucket. Ponúka mnoho automatizovaných možností CI, ktoré znižujú potrebu dedikovaného servera, pretože server Travis CI je hostený v cloude. To vám umožňuje testovať v rôznych prostrediach, na rôznych strojoch, bežiacich na rôznych operačných systémoch.
Travis CI je pre open source projekty zadarmo. Pre komerčné projekty je potrebné zakúpiť si podnikový plán.
Čo je Jenkins?
Jenkins je oceňovaný nepretržitý integračný nástroj, ktorý monitoruje vykonávanie cyklov nasadenia. Začalo to ako vedľajší projekt skupiny softvérových inžinierov spoločnosti Sun. Neskôr bol rozšírený ako jeden z populárnych nástrojov otvoreného zdroja CI, ktoré pomáhajú vývojovým tímom softvéru automatizovať ich nasadenie.
Jenkins je nástroj založený na prostredí Java, čo znamená, že na jeho fungovanie potrebujete iba prostredie Java Runtime Environment. Preto môže byť Jenkins nainštalovaný na akýkoľvek operačný systém, na ktorom je spustená Java.
V tomto nástroji môžu vývojári tiež určiť podmienky pre prispôsobené zostavenia. Jenkins podporuje rozsiahly archív doplnkov. To umožňuje vývojárom meniť spôsob, akým Jenkin vyzerá a funguje.
Sada doplnkov Jenkins Pipeline navyše prichádza so špeciálnymi nástrojmi, ktoré vývojárom umožňujú modelovať ľahko zložité doručovacie kanály pomocou metódy DSL (Digital Subscribe line).
Čo robí Travis?
Travis CI ponúka nasledujúce výhody:
- Môžete monitorovať projekty GitHub
- Spustí test a rýchlo vygeneruje výsledky. Paralelné vykonávanie testu je možné.
- Vytvárajte artefakty a kontrolujte kvalitu kódu
- Jednoduché nasadenie do cloudových služieb
- Dokáže identifikovať malé aj veľké zmeny kódu.
- Vývojári môžu pomocou Travis CI sledovať testy, keď sú spustené.
- Nástroj sa integruje do aplikácií Slack, HipChat, Email atď.
Čo robí Jenkin?
Jenkins vám umožňuje automatizovať vaše úlohy zostavovania, testovania a nasadenia. Tento nástroj poskytuje podporu pre rôzne operačné systémy, ako sú systémy Windows, Mac OSX a Linux.
Okrem toho vám Jenkins poskytuje schopnosť rýchlo zostaviť a otestovať váš kód, aby ste získali včasnú spätnú väzbu o tom, či je alebo nie je pripravený na výrobu. Vo väčšine prípadov bude Jenkin vyžadovať niekoľko úprav podľa vlastných požiadaviek vášho tímu.
Vlastnosti Travis CI:
- Automatická integrácia s GitHub
- Prístup do úložiska na zostavenie požiadaviek na načítanie
- Podpora pre 21 jazykov ako Android, C, C #, C ++, Java, JavaScript (s Node.js), Perl, PHP, Python, R, Ruby atď.
- Predinštalované nástroje na zostavenie a testovanie
- Dostupné služby - databázy, fronty správ atď.
- Nasadenie do viacerých cloudových služieb
- Šifrujte premenné alebo súbory zabezpečeného prostredia
- Virtuálne stroje sa znovu vytvorili po každom zostavení
- Klient CLI a API na skriptovanie
- Dodáva sa s bezplatným cloudovým hostením, ktoré nevyžaduje údržbu ani správu.
Vlastnosti Jenkin:
- Ľahká inštalácia, aktualizácia a konfigurácia
- Distribuované zostavy
- Monitorovanie externých úloh
- Viac ako 600 doplnkov na prispôsobenie vášho prostredia Jenkins
- Viac ako 1 000 verejných úložísk na Githube, viac ako 500 prispievateľov, silná aktivita pri odovzdávaní
- Podpora rôznych metód autentifikácie, systémov riadenia verzií, notifikácií atď.
- Jenkins poskytuje rozhranie API pre vzdialený prístup a jeho funkcie.
- Poskytuje výkonný nástroj CI / CD pre veľké projekty
- Podporuje rôzne pracovné modely ako Freestyle, Pipeline atď.,
- Umožňuje vývojárom pridať svoje rozšírenia
- Kompatibilné s programami Docker, Libvirt, Kubernetes a mnohými ďalšími programami
Travis vs. Jenkins
Parameter | Jenkin | Travis |
---|---|---|
Náklady | Jenkins je zadarmo. Vývojový tím však musí prevádzkovať a udržiavať svoj dedikovaný server. To by sa dalo považovať za dodatočný náklad. | Podnikové balíčky Travis CI začínajú na cene 129 dolárov mesačne. Zvýšenie nákladov na základe požadovanej úrovne podpory. |
Nastaviť čas | Jenkins potrebuje zložité nastavenie. Na úplnú inštaláciu teda budete čakať veľmi dlho. | Začiatok trvá veľmi kratšie. Vytvorte konfiguračný súbor a začnite integrovať. |
Výkon | Ak hľadáte nástroj CI s neobmedzenými možnosťami prispôsobenia, potom je pre vás Jenkins tou najlepšou voľbou. | Travis CI je najlepšia voľba, ak pracujete v projekte otvoreného zdroja. |
Typ náradia | Je to open-source nástroj, ktorý sa dá používať zadarmo. | Je to komerčný nástroj CI Tool |
Využitie | Jednoduché použitie | Flexibilné na použitie |
Github | Dobré pre Github | Vynikajúce pre Github |
podpora | Široká podpora zo strany komunity. | Obmedzená podpora komunity. |
Pros |
|
|
Zápory |
|
|
Plány použitia | zadarmo | Zadarmo pre open source projekty. Platené však za podnik. |
Serverový stroj | Na serveri | Cloudové |
Možnosti prispôsobenia | Viac | Menej |
Konfigurácia | Plne prispôsobiteľné | YAML |
Ovládanie systému | Plný | Veľmi menej |
Index obľúbenosti
Počet otázok označených Jenkins a Travis v zozname Stack Overflow.
Ktorý je lepší?
Takže s vyššie uvedenou diskusiou môžeme získať, že Travis aj Jenkins obaja ponúkajú úžasné vlastnosti. Pre Travis CI sú však najvhodnejšie malé open source projekty, pretože sa dajú ľahko spustiť a rýchlo sa nastavia. Na druhej strane, veľký podnik je pre spoločnosť Jenkins najvhodnejší, pretože ponúka bezplatné licencie pre súkromný projekt a širokú škálu prispôsobiteľných funkcií. Môžeme teda povedať, že obidva tieto nástroje na kontinuálnu integráciu sú svojim spôsobom dobré.