Výukový program Jenkins | Kontinuální integrace pomocí Jenkinse | Edureka



Jenkins Tutorial je druhý blog série blogů Jenkins. Tento blog hovoří o Jenkinsově distribuované architektuře a o tom, jak vytvořit sestavení pomocí Jenkinse.

Výukový program Jenkins

Jenkins je jedním z nejdůležitějších nástrojů v . Doufám, že jste si přečetli můj předchozí blog na . V tomto blogu Jenkins Tutorial se zaměřím na architekturu Jenkins a potrubí sestavení Jenkins spolu s tím, že vám ukážu, jak vytvořit sestavení v Jenkins.

Než budeme pokračovat v Jenkinsově výukovém programu, jsou klíčové informace z předchozího blogu:





rozdíl mezi final final a finalize
  • Jenkins se používá k integraci všech fází DevOps pomocí pluginů.
  • Běžně používané pluginy Jenkins jsou Git, Amazon EC2, projekt Maven 2, vydavatel HTML atd.
  • Jenkins má více než 1000 pluginů a147 000 aktivních instalací a více než 1 milion uživatelů po celém světě.
  • S kontinuální integrací každá změna provedená ve zdrojovém kódujepostavený. Plní i další funkce,to závisí na nástroji použitém pro kontinuální integraci.
  • Nokia přešla od Nightly build k Continuous Integration.
  • Proces před kontinuální integrací měl mnoho nedostatků. Výsledkem bylo nejen pomalé dodávání softwaru, ale i kvalita softwaru. Vývojáři měli také těžké časy při hledání a opravování chyb.
  • Kontinuální integrace s Jenkinsem překonala tyto nedostatky nepřetržitým spuštěním sestavení a testování každé změny provedené ve zdrojovém kódu.

Nyní je ten správný čas na pochopení Jenkinsovy architektury.

Jenkinsova architektura

Pojďme revidovat samostatnou architekturu Jenkins, kterou jsem vám vysvětlil v , níže uvedený diagram zobrazuje totéž.



Samostatná architektura Jenkins - Co je Jenkins - Edureka

Tento jediný server Jenkins nestačil ke splnění určitých požadavků, jako jsou:

  • Někdy možná budete potřebovat několik různých prostředí k otestování svých sestavení. To nemůže provést jediný server Jenkins.
  • Pokud se pravidelně staví větší a těžší projekty, pak jediný server Jenkins nemůže jednoduše zvládnout celou zátěž.

Pro řešení výše uvedených potřeb byla zavedena Jenkinsova distribuovaná architektura.



Jenkinsova distribuovaná architektura

Jenkins používá architekturu Master-Slave ke správě distribuovaných sestavení. V této architektuře komunikují Master a Slave prostřednictvím protokolu TCP / IP.

Jenkins Mistře

Váš hlavní server Jenkins je Master. Úkolem Mistra je zvládnout:

  • Plánování vytváření pracovních míst.
  • Odeslání sestaví otrokům pro skutečné provedení.
  • Sledujte otroky (případně je podle potřeby vezměte online a offline).
  • Záznam a prezentace výsledků sestavení.
  • Instance Master Jenkinse může také přímo provádět úlohy sestavení.

Jenkins Slave

Slave je spustitelný soubor Java, který běží na vzdáleném počítači. Následuje charakteristika Jenkinsových otroků:

  • Slyší požadavky z instance Jenkins Master.
  • Otroci mohou běžet na různých operačních systémech.
  • Úkolem otroka je dělat to, co mu bylo řečeno, což zahrnuje provádění úloh sestavení odeslaných pánem.
  • Můžete nakonfigurovat projekt tak, aby vždy běžel na konkrétním stroji Slave nebo na konkrétním typu stroje Slave, nebo jednoduše nechte Jenkinse vybrat dalšího dostupného Slave.

Níže uvedený diagram je vysvětlující. Skládá se z Jenkins Master, který spravuje tři Jenkins Slave.

Nyní se podívejme na příklad, ve kterém se Jenkins používá pro testování v různých prostředích, jako jsou: Ubuntu, MAC, Windows atd.

Níže uvedený diagram představuje totéž:

Na výše uvedeném obrázku jsou prováděny následující funkce:

  • Jenkins kontroluje v úložišti Git v pravidelných intervalech jakékoli změny provedené ve zdrojovém kódu.
  • Každá sestavení vyžaduje jiné testovací prostředí, které není možné pro jeden server Jenkins. Aby bylo možné provádět testování v různých prostředích, používá Jenkins různé otroky, jak je znázorněno na obrázku.
  • Jenkins Master požaduje, aby tito otroci prováděli testování a generovali protokoly o zkouškách.

Jenkins Build Pipeline

Používá se ke zjištění, který úkol Jenkins aktuálně provádí. Několik vývojářů často provádí několik různých změn najednou, takže je užitečné vědět, která změna se testuje nebo která změna sedí ve frontě nebo které sestavení je nefunkční. To je místo, kde se objevuje potrubí. Jenkins Pipeline vám poskytne přehled o tom, kde jsou testy až. V kanálu sestavení je sestavení jako celek rozděleno do sekcí, jako je fáze testování jednotky, akceptační test, balení, vykazování a nasazení. Fáze kanálu mohou být prováděny v sérii nebo paralelně, a pokud je jedna fáze úspěšná, automaticky přejde do další fáze (odtud tedy význam názvu „potrubí“). Obrázek níže ukazuje, jak vypadá potrubí s více sestavami.

Doufám, že jste pochopili teoretické koncepty. Pojďme se nyní pobavit s praktickými ukázkami.

Vytvořím novou práci v Jenkins, to je Freestyle Project . K dispozici jsou však ještě 3 další možnosti. Podívejme se na typy sestavení úloh dostupných v Jenkins.

Freestyle Project:

Freestyle build jobs jsou úlohy pro všeobecné použití, které poskytují maximální flexibilitu.Úloha sestavení freestylu je nejflexibilnější a konfigurovatelnou možností a lze ji použít pro jakýkoli typ projektu. Nastavení je poměrně jednoduché a mnoho možností, které zde konfigurujeme, se také objeví v jiných úlohách sestavení.

Úloha více konfigurací:

„Projekt více konfigurací“ (označovaný také jako „projekt matice“) umožňuje spustit stejnou úlohu sestavení v různých prostředích. Používá se pro testování aplikace v různých prostředích, s různými databázemi nebo dokonce na různých sestavovacích počítačích.

Monitorování externí úlohy:

Úloha sestavení „Monitorovat externí úlohu“ vám umožňuje sledovat neinteraktivní procesy, jako jsou úlohy cron.

Maven Project:

„Projekt maven2 / 3“ je úloha sestavení speciálně přizpůsobená projektům Maven. Jenkins rozumí souborům Maven pom a strukturám projektu a může pomocí informací shromážděných ze souboru pom snížit práci, kterou musíte udělat pro nastavení projektu.

Zde je video o Jenkinsově výukovém programu pro lepší porozumění Jenkinsovi. Podívejte se na toto výukové video Jenkins.

Začínáme s Jenkinsem Výukový program Jenkins a DevOps Jenkins pro začátečníky Edureka

Vytvoření sestavy pomocí Jenkinse

Krok 1: Na domovské stránce Jenkinsova rozhraní vyberte Nový předmět.

Krok 2: Zadejte název a vyberte Freestyle projekt .

Krok 3: Na této další stránce určíte konfiguraci úlohy. Jak rychle zjistíte, při vytváření nového projektu je k dispozici řada nastavení.Na této konfigurační stránce máte také možnost Přidat krok sestavení provádět další akce, jako je spouštění skriptů. Spustím shell skript.

To vám poskytne textové pole, do kterého můžete přidat libovolné příkazy, které potřebujete. Pomocí skriptů můžete spouštět různé úkoly, jako je údržba serveru, správa verzí, čtení nastavení systému atd. V této části použiji jednoduchý skript.

Krok 4: Uložte projekt a dostanete se na stránku s přehledem projektu. Zde vidíte informace o projektu, včetně jeho historie.

Krok 5: Klepněte na Stavět hned na levé straně spusťte sestavení.

Krok 6: Chcete-li zobrazit další informace, klikněte na dané sestavení v oblasti historie sestavení, načež se dostanete na stránku s přehledem informací o sestavení.

Krok 7: The Výstup konzoly odkaz na této stránce je zvláště užitečný pro podrobné prozkoumání výsledků práce.

Krok 8: Pokud se vrátíte zpět k domovu Jenkins, zobrazí se přehled všech projektů a jejich informace, včetně stavu.

Stav stavby je indikován dvěma způsoby, ikonou počasí a barevnou koulí. Ikona počasí je obzvláště užitečná, protože zobrazuje záznam několika sestavení na jednom obrázku.

Jak vidíte na obrázku výše, slunce představuje, že všechny mé stavby byly úspěšné. Barva míče nám dává status dané konkrétní sestavy, na obrázku nahoře je barva koule modrá, což znamená, že tato konkrétní sestava byla úspěšná.

V tomto Jenkinsově výukovém programu jsem právě uvedl úvodní příklad. V mém dalším blogu vám ukážu, jak vytáhnout a vytvořit kód z úložiště GitHub pomocí Jenkins.

Pokud jste to našli Výukový program Jenkins relevantní, podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Kurz certifikace Edureka DevOps pomáhá studentům získat odborné znalosti v různých procesech a nástrojích DevOps, jako jsou Puppet, Jenkins, Nagios a GIT pro automatizaci více kroků v SDLC.

Máte na nás dotaz? Uveďte to prosím v sekci komentáře a my se vám ozveme.