Co je Jenkins?
- Jenkins je nástroj pro automatizaci kontinuální integrace (open source), který je nainstalován na serveru, na kterém dochází k sestavení. Nepřetržitá integrace označuje proces, kdy vývojáři odevzdají svůj kód do společně vytvořeného úložiště, jakmile dokončí vývoj.
- V procesu CI / CD také vede ke zvýšení režijních nákladů, a proto máme v Jenkinsu potrubí, abychom udrželi uživatele a oprávnění, která jsou jim označena. Totéž platí pro rostoucí projekty.
- Jakmile se budova zvětšuje, zvyšuje se odpovídající potřeba vytvářet testovací agenty spolu s jejich údržbou.
Definice Jenkins -
- Definice uvedená pro Jenkins od Jenkins.io je následující -
„Jenkins je samostatný, automatizovaný server s otevřeným zdrojovým kódem, který lze použít k automatizaci nejrůznějších úkolů souvisejících s budováním, testováním a dodáním nebo nasazením softwaru“.
- Když je představen koncept nepřetržité integrace nebo nepřetržitého nasazení, objeví se na obrázku nástroje jako Jenkins a kruhy. Ale tady bychom mluvili jen o Jenkinsovi.
Porozumění Jenkins -
- Plynovod nepřetržité integrace je sada sekvenčních nebo paralelních úloh, tyto úlohy jsou navrženy k provádění sady úloh, které jsou konfigurovány pomocí rozhraní GUI.
- Vzhledem k tomu, že bylo obtížné udržet rostoucí počet projektů, stavět, stavět revize a kopie, zavádí se koncept plynovodu Jenkins. Tento plynovod se nazývá jenkinskins.
- Jenkins také podporuje technologie typu docker a kubernetes, kde jsou provozovány mikroservisy.
- Někdy se objevuje určitý druh problémů, jako je pomalost kvůli obrovskému množství generovaných protokolů.
- Jenkins může mít za následek vysoké využití procesoru, úměrné počtu uživatelů přistupujících k Jenkins.
- Jenkins je vertikálně (vyžaduje upscaling hardwaru) a horizontálně škálovatelný (vyžaduje více Jenkins masterů).
- Je vidět, že mít jednoho mistra Jenkinsa je příjemné, ale kompromis musí být stanoven mezi dostupností a snadnou manipulací, jako by se v případě, že by se jeden pán dostal dolů, podnik zastavil.
- Jenkins otroci stejně přispívají k testování spolu s budovou, Jenkins poskytuje koncept paralelního testování, díky kterému je potrubí také rychlejší.
- Vysoká dostupnost je zajištěna spolu s převzetím služeb při selhání s primárními a sekundárními systémy.
Jak Jenkins funguje -
Než začnete pracovat s Jenkinsem, existují určité předpoklady, které je třeba splnit.
Doporučený hardware je následující -
- RAM> = 1 GB
- Místo na disku> = 50 GB by stačilo.
Předpoklady pro software jsou následující:
- Windows / Linux (nejlépe)
- JDK 8
- Musí tam být webové kontejnery kompatibilní s Servlet 3.1.
Existují dvě architektury, ve kterých můžeme vytvořit design -
- Master-slave architektura
- Master-master architektura
- Podřízené uzly můžeme nastavit na stránce „Správa uzlů“. Poté zadejte uzly a jejich názvy, poté nastavte vlastnosti uzlů, přiřaďte podřízené jednotky k nadřízeným a poté spusťte podřízené uzly.
- Existují určité základní technologie, které tam musí být -
- Správce balíčků uzlů a GIT
- Eclipse IDE a Maven
- Databáze
- Nástroje pro testování typu Junit nebo selen pro automatické testování
- Jakékoli prostředí, jako je Docker (nejlépe), by to udělalo.
Funguje ve třech fázích - Akce před sestavením, Akce sestavení a Akce po sestavení
V akcích PreBuild - Existují minimalizátory JS, které minimalizují a komprimují kód před jeho vložením do sestavení, to se provádí pomocí doplňků před sestavením. Spolu s tímto ant builderem lze vyvolat v požadovaných případech, mohou být spuštěny šarže okna, příkazy shellu a mohou být vyvolány maven cíle pro poskytnutí konfiguračních souborů.
Prebuild pluginy dělají kód push, dotazování, kompilace, balení a publikování.
Ve fázi Akce sestavení - kód odeslaný do této fáze z předchozí fáze je kompilován a testován.
Ve fázi Post Build - zde jsou kódy archivovány do implementovatelných formátů a nakonec jsou poslány.
Proč bychom měli používat Jenkins -
- Kompatibilní pro nasazení mikroskopických služeb s kubernetami a dokovací stanicí
- Příští aplikační éra by se týkala pouze vývoje založeného na mikroprocesech, protože potřeba škálovatelnosti a dostupnosti existuje u některých služeb pouze v maximálních aplikačních scénářích. Takže nasazení a služby mohou být tlačeny automatizovaným způsobem s Jenkinsem, stačí jim dát ve skriptu shellové skripty a může to udělat zbytek úkolu pro vás.
- Potrubí je podporováno.
Co můžete dělat s Jenkinsem -
- Vytvořte proces ve dvou architekturách, jak je uvedeno výše.
- Pokud chcete jen jednoho pána, můžete jít s tímto přístupem, pokud potřebujete přizpůsobit omezení dostupnosti, můžete jít s mnoha mistry.
- Existuje mnoho doplňků s otevřeným zdrojovým kódem, které automatizovaně zpracovávají více úloh.
- Monolitické aplikace nebo aplikace založené na mikroprocesech jsou dobře podporovány.
Výhody Jenkins -
- Jedná se o server s otevřeným zdrojovým kódem a server pro kontinuální integraci.
- Jenkins nyní nese potrubí.
- Prostředí pro doručování je nyní poskytováno z jakéhokoli jazyka.
- Proces dodání produktu se zrychluje, a tím sleduje agilní model v těsném spojení.
- Jenkins je nástroj CI / CD.
- K dispozici jsou funkce jako Role Based Access Control.
- Jenkins je škálovatelná, takže lze řešit problémy s dostupností a škálovatelností.
- Distribuované týmy mohou pracovat a nyní je snadné je spravovat.
- Je tam podpora kontejneru.
- Server LDAP je nedílnou součástí jeho architektury.
- Jenkins 2.0 je zpětně kompatibilní také.
- Konfigurační stránky pracovních stránek se objevily improvizovaným způsobem s Jenkinsem 2.0
Proč potřebujeme Jenkins -
- Pro proces CI / CD
- Tyto procesy lze navrhnout automatizovaným způsobem, kodéry odevzdají kód, sestavení s odpovídajícími novými revizemi se provedou pouhým kliknutím (spuštění daných skriptů).
- Je dobře podporován open-source pluginy a reportovacími nástroji jako Ant, Maven, Gradle, BitBucket, NodeJs atd.
Kdo je tím pravým publikem pro učení Jenkins -
- Kdokoli v roli DevOps by rád začlenil tento nástroj pro automatizaci procesu výstavby.
- Noví vývojáři webu hledající kariéru jako DevOps musí vědět, jak tento nástroj funguje a jak můžeme nakonfigurovat proces vytváření sestavení.
Jak vám tato technologie pomůže v kariérním růstu -
- Tento nástroj se postupem času vyvíjel a nové verze přicházely s podporou architektury mikroservisů. To je architektura, kterou je třeba sledovat ve všech rozsáhlých projektech, jako je Netflix.
Závěr -
Jenkins je nástroj CI / CD, open-source, kompatibilní s různými pluginy, usnadňuje život, když je třeba dodávat software na agilním základě.
Doporučené články
Toto byl průvodce po tom, co je Jenkins. Zde jsme diskutovali o tom, jak to funguje, výhody a kariérní růst Jenkins. Další informace naleznete také v následujících článcích -
- Jak nainstalovat Jenkins
- Příkazy Maven
- JIRA Alternativy
- Co je selen?
- Jenkins vs Hudson