Co je CI?
Kontinuální integrace je metoda vývoje softwaru, při které mohou členové týmu integrovat svou práci alespoň jednou denně. V této metodě je každá integrace kontrolována automatizovaným sestavením, aby se hledala chyba. Koncept CI byl poprvé představen před více než dvěma desetiletími, aby se zabránilo „integračnímu peklu“, ke kterému dochází, když je integrace odložena až do konce projektu.
V tomto výukovém programu se naučíte
- Co je CI?
- Co je Travis CI?
- Co je Jenkins?
- Co dělá Travis?
- Co Jenkin udělal?
- Funkce Travis CI:
- Funkce Jenkin:
- Travis vs. Jenkins
- Index popularity
- Který je lepší?
Jak CI funguje?
- Vývojáři píší kód a potvrzují změny ve sdíleném úložišti
- Poté server CI monitoruje úložiště a vyhodnotí všechny změny
- CI staví systém a provádí integraci a jednotkové testy
- Server vydává nasaditelné artefakty
- Server pro nepřetržitou integraci přiřadí značku sestavení verzi a kódu budovy
- Poté server CI informuje tým o úspěšném sestavení. Pokud testy selžou, server o události upozorní vývojový tým. Tým vyřeší problémy co nejrychleji.
KLÍČOVÝ ROZDÍL
- Travis CI je komerční nástroj CI, zatímco Jenkins je nástroj s otevřeným zdrojovým kódem.
- Travis CI trvá velmi málo času, než začne, zatímco Jenkins potřebuje komplikované nastavení.
- Travis CI nabízí méně možností přizpůsobení, zatímco Jenkins nabízí obrovské možnosti přizpůsobení.
- Travis CI má konfigurační soubor YAML, zatímco Jenkins poskytuje uživateli úplnou možnost konfigurace.
Co je Travis CI?
Travis CI byl první nástroj CI jako servisní nástroj. Zavedlo nový přístup k vytváření kódu v cloudu. Tento nástroj CI umožňuje uživateli zaregistrovat se, propojit své úložiště, vytvářet a testovat své aplikace.
Nástroj Travis CI lze snadno integrovat do běžných cloudových úložišť, jako jsou GitHub a Bitbucket. Nabízí mnoho automatizovaných možností CI, které snižují potřebu dedikovaného serveru, protože Travis CI server je hostován v cloudu. To vám umožní testovat v různých prostředích, na různých počítačích, běžících na různých operačních systémech.
Travis CI je zdarma pro open source projekty. U komerčních projektů je třeba zakoupit podnikový plán.
Co je Jenkins?
Jenkins je oceňovaný nástroj pro nepřetržitou integraci, který sleduje provádění cyklů nasazení. Začalo to jako vedlejší projekt skupiny softwarových inženýrů společnosti Sun. Později byl rozšířen jako jeden z populárních nástrojů CI s otevřeným zdrojovým kódem, které pomáhají týmům vývoje softwaru automatizovat jejich nasazení.
Jenkins je nástroj založený na prostředí Java, což znamená, že k jeho provozu potřebujete pouze prostředí Java Runtime Environment. Proto může být Jenkins nainstalován na jakýkoli operační systém, kde běží Java.
V tomto nástroji mohou vývojáři také určit podmínky pro přizpůsobená sestavení. Jenkins podporuje rozsáhlý archiv pluginů. To umožňuje vývojářům změnit způsob, jakým Jenkin vypadá a funguje.
Sada modulů plug-in Jenkins Pipeline navíc přichází se speciálními nástroji, které vývojářům umožňují modelovat snadno složité doručovací kanály pomocí metody DSL (Digital Subscribe line).
Co dělá Travis?
Travis CI nabízí následující výhody:
- Můžete sledovat projekty GitHub
- Spustí test a rychle vygeneruje výsledky. Paralelní provedení testu je možné.
- Vytvářejte artefakty a kontrolujte kvalitu kódu
- Snadné nasazení do cloudových služeb
- Může identifikovat malé i velké změny kódu.
- Vývojáři mohou pomocí Travis CI sledovat testy, když běží.
- Nástroj se integruje s Slack, HipChat, Email atd.
Co dělá Jenkin?
Jenkins vám umožňuje automatizovat úlohy sestavení, testování a nasazení. Tento nástroj poskytuje podporu pro různé operační systémy, jako jsou systémy Windows, Mac OSX a Linux.
Jenkins vám navíc umožňuje rychle sestavit a otestovat váš kód, abyste získali včasnou zpětnou vazbu o tom, zda je připraven k produkci nebo ne. Ve většině případů bude Jenkin vyžadovat několik úprav podle vlastních požadavků vašeho týmu.
Funkce Travis CI:
- Automatická integrace s GitHub
- Přístup do úložiště k vytváření požadavků na vyžádání
- Podpora pro 21 jazyků jako Android, C, C #, C ++, Java, JavaScript (s Node.js), Perl, PHP, Python, R, Ruby atd.
- Předinstalované nástroje pro sestavení a testování
- Dostupné služby - databáze, fronty zpráv atd.
- Nasazení do více cloudových služeb
- Šifrujte proměnné nebo soubory zabezpečeného prostředí
- Virtuální stroje se znovu vytvářejí po každém sestavení
- Klient CLI a API pro skriptování
- Dodává se s cloudovým hostingem zdarma, který nevyžaduje údržbu ani správu.
Funkce Jenkin:
- Snadná instalace, upgrade a konfigurace
- Distribuované sestavy
- Monitorování externích úloh
- Více než 600 pluginů pro přizpůsobení vašeho prostředí Jenkins
- Více než 1 000 veřejných úložišť na Githubu, více než 500 přispěvatelů, silná aktivita potvrzení
- Podpora různých metod ověřování, systémů pro správu verzí, oznámení atd.
- Jenkins poskytuje API pro vzdálený přístup a jeho funkce.
- Poskytuje výkonný nástroj CI / CD pro velké projekty
- Podporuje různé pracovní modely jako Freestyle, Pipeline atd.,
- Umožňuje vývojářům přidat jejich rozšíření
- Kompatibilní s Docker, Libvirt, Kubernetes a mnoha dalšími programy
Travis vs. Jenkins
Parametr | Jenkin | Travisi |
---|---|---|
Náklady | Jenkins je zdarma. Ale vývojový tým musí provozovat a udržovat svůj dedikovaný server. To lze považovat za další výdaj. | Podnikové sady Travis CI začínají na 129 USD měsíčně. Zvýšení nákladů na základě požadované úrovně podpory. |
Čas na přípravu | Jenkins potřebuje komplikované nastavení. Na úplnou instalaci tedy budete mít velmi dlouhou čekací dobu. | Začátek zabere mnohem méně času. Vytvořte konfigurační soubor a začněte integrovat. |
Výkon | Pokud hledáte nástroj CI s neomezenými možnostmi přizpůsobení, je pro vás Jenkins tou nejlepší volbou. | Travis CI je nejlepší volbou, pokud pracujete v projektu s otevřeným zdrojovým kódem. |
Typ nástroje | Jedná se o bezplatný open-source nástroj. | Jedná se o komerční nástroj CI |
Používání | Snadné použití | Flexibilní použití |
Github | Dobré pro Github | Vynikající pro Github |
Podpěra, podpora | Rozsáhlá podpora ze strany komunity. | Omezená podpora komunity. |
Profesionálové |
|
|
Nevýhody |
|
|
Plány využití | Volný, uvolnit | Zdarma pro open source projekty. Nicméně, zaplaceno za Enterprise. |
Serverový stroj | Na serveru | Cloudové |
Možnosti přizpůsobení | Více | Méně |
Konfigurace | Plně přizpůsobitelné | YAML |
Ovládání v systému | Plný | Velmi méně |
Index popularity
Počet otázek označených Jenkins a Travis v přetečení zásobníku.
Který je lepší?
S výše uvedenou diskusí tedy můžeme dospět k závěru, že Travis i Jenkins nabízejí úžasné funkce. Pro Travis CI se však nejlépe hodí malé open source projekty, protože je snadné je spustit a rychle nastavit. Na druhou stranu, velký podnik je nejvhodnější pro Jenkins, protože nabízí bezplatné licence pro soukromý projekt a širokou škálu přizpůsobitelných funkcí. Můžeme tedy říci, že oba tyto nástroje pro kontinuální integraci jsou svým způsobem dobré.