Výukový program Jenkins Pipeline: Jak vytvořit JenkinsFile (příklad)

Co je to Jenkins Pipeline?

Jenkins Pipeline je kombinací zásuvných modulů, které podporují integraci a implementaci kontinuálních doručovacích kanálů. Má rozšiřitelný automatizační server pro vytváření jednoduchých a složitých doručovacích kanálů jako kódu prostřednictvím potrubí DSL. Pipeline je skupina událostí, které jsou vzájemně propojeny v sekvenci.

Co je to kontinuální doručovací potrubí? Jak to funguje?

V potrubí Jenkins má každá úloha nebo událost určitý druh závislosti na alespoň jedné nebo více událostech.

Provoz Jenkinsových kontinuálních rozvodů
Provoz Jenkinsových kontinuálních rozvodů

Obrázek výše představuje kontinuální doručovací potrubí v Jenkins. Obsahuje skupinu stavů nazvaných build, deploy, test a release. Tyto události jsou vzájemně propojeny. Každý stav má své události, které pracují v sekvenci zvané kontinuální doručovací potrubí.

Průběžné doručování je automatizovaný výraz pro zobrazení vašeho procesu získávání softwaru pro správu verzí. Každá změna provedená ve vašem softwaru tak na cestě k vydání prochází řadou složitých procesů. Zahrnuje také vývoj softwaru spolehlivým a opakovatelným způsobem a postup vytvořeného softwaru v několika fázích Testování a nasazení.

Co je JenkinsFile?

Jenkinsova potrubí lze definovat pomocí textového souboru s názvem JenkinsFile. Potrubí můžete implementovat jako kód pomocí JenkinsFile a to lze definovat pomocí jazyka specifického pro doménu (DSL). Pomocí JenkinsFile můžete napsat kroky potřebné pro spuštění Jenkinsova potrubí.

Výhody používání JenkinsFile jsou:

  • Můžete automaticky vytvářet kanály pro všechny větve a spouštět požadavky na stahování pouze s jedním JenkinsFile.
  • Svůj kód Jenkins si můžete prohlédnout v kanálu
  • Můžete auditovat své potrubí Jenkins
  • Toto je jedinečný zdroj pro váš kanál a může být upraven více uživateli.

JenkinsFile lze definovat buď pomocí webového uživatelského rozhraní, nebo pomocí souboru Jenkins.

Deklarativní versus skriptovaná syntaxe kanálu:

K definování vašeho JenkinsFile se používají dva typy syntaxe potrubí Jenkins.

  1. Deklarativní
  2. Skriptováno

deklarativní:

Deklarativní syntaxe potrubí nabízí snadný způsob vytváření potrubí. Obsahuje předdefinovanou hierarchii pro vytváření Jenkinsových kanálů. Poskytuje vám možnost ovládat všechny aspekty provádění potrubí jednoduchým a přímočarým způsobem.

Skriptováno:

Skriptovaný Jenkinsův kanál běží na Jenkinsově masteru s pomocí lehkého exekutoru. K převodu potrubí na atomické příkazy využívá velmi málo zdrojů. Jak deklarativní, tak skriptovaná syntaxe se od sebe liší a jsou definovány zcela odlišně.

Proč používat Jenkin's Pipeline?

Jenkins je otevřený server pro nepřetržitou integraci který má schopnost podporovat automatizaci procesů vývoje softwaru. Pomocí případů použití můžete vytvořit více úloh automatizace a spustit je jako Jenkinsův kanál.

Zde jsou důvody, proč byste měli používat potrubí Jenkins:

  • Jenkins pipeline je implementován jako kód, který umožňuje více uživatelům upravovat a spouštět proces potrubí.
  • Potrubí je robustní. Pokud tedy váš server projde neočekávaným restartem, bude potrubí automaticky obnoveno.
  • Proces kanálu můžete pozastavit a nechat jej počkat na pokračování, dokud neobdrží vstup od uživatele.
  • Jenkins Pipelines podporují velké projekty. Můžete spouštět více úloh a dokonce používat potrubí ve smyčce.

Jenkins Pipeline Concepts

Období Description
Potrubí Pipeline je sada instrukcí zadávaných ve formě kódu pro nepřetržité doručování a skládá se z instrukcí potřebných pro celý proces sestavení. Pomocí pipeline můžete vytvářet, testovat a dodávat aplikaci.
Uzel Stroj, na kterém Jenkins běží, se nazývá uzel. Blok uzlů se používá hlavně ve skriptované syntaxi potrubí.
Fáze Blok fáze obsahuje řadu kroků v potrubí. To znamená, že procesy sestavení, testování a nasazení se všechny spojují ve fázi. Obecně se blok fáze používá k vizualizaci procesu Jenkinsova potrubí.
Krok Krok není nic jiného než jeden úkol, který provede určitý proces v definovaném čase. Potrubí zahrnuje řadu kroků.

Nainstalujte modul Build Pipeline Plugin v Jenkins

S hodinkami vybudovat potrubí plugin, můžete vytvořit zobrazení kanálu příchozích a odchozích úloh a vytvořit spouštěče, které vyžadují ruční zásah.

Zde je návod, jak můžete nainstalovat vybudovat potrubí plugin ve vašem Jenkins:

Krok 1) Nastavení pluginu naleznete pod,

Spravovat Jenkins > Spravovat pluginy.

Nainstalujte modul Build Pipeline Plugin v Jenkins

Pokud jste již plugin nainstalovali, zobrazí se na kartě Instalace.

Nainstalujte modul Build Pipeline Plugin v Jenkins

Krok 2) Pokud nemáte plugin dříve nainstalovaný,

ukazuje se pod Dostupný Karta.

Jakmile úspěšně nainstalujete vybudovat potrubí plugin ve vašem Jenkins, vytvořte si svůj Jenkins pipeline takto:

Jak vytvořit Jenkins Pipeline

Jakmile se přihlásíte do svého ovládacího panelu Jenkins:

Krok 1) Klikněte na "+" tlačítko na levé straně ovládacího panelu Jenkins pro vytvoření potrubí.

Vytvořte Jenkins Pipeline

Krok 2)

  1. Budete požádáni o zadání názvu zobrazení potrubí. Budeme tomu říkat „Potrubí Guru99“ po dobu trvání této ukázky.
  2. vybrat Vytvořte zobrazení potrubí pod možnosti
  3. klikněte ok

Vytvořte Jenkins Pipeline

Krok 3) Na další stránce budete požádáni o další podrobnosti ke konfiguraci vašeho potrubí Jenkins. Stačí přijmout výchozí nastavení a ujistěte se, že jste v nastavení vybrali první úlohu.

Klikněte na Přihláška a pak OK.

Vytvořte Jenkins Pipeline

Zobrazí se vám ukázkové zobrazení kanálu vaší položky, jak je uvedeno níže:

Vytvořte Jenkins Pipeline

Spuštění sestavení potrubí

Krok 1) Chcete-li spustit sestavení potrubí, musíte nejprve zřetězit své úlohy. Za tímto účelem přejděte na svou první úlohu a klikněte na konfigurovat.

Spuštění sestavení potrubí

Krok 2) Nyní pod Sestavte spouštěče, zkontrolovat Stavět poté, co jsou postaveny jiné projekty volba.

Spuštění sestavení potrubí

Tak byl vytvořen řetězec pro všechny vaše práce.

Krok 3) Nainstalujte Pohled na sestavení potrubí plugin, pokud jej ještě nemáte nainstalovaný.

Krok 4) Přejděte na svůj ovládací panel Jenkins a vytvořte zobrazení kliknutím na „+" knoflík. Vybrat Pohled na sestavení potrubí a klepněte na tlačítko OK.

Spuštění sestavení potrubí

Krok 5) Pod Konfigurace pohledu na potrubí, vyhledejte Průtok potrubí.

Pod Průtok potrubím, vyberte počáteční úlohu, kterou chcete spustit. Nyní vyberte úlohu, která má řetězy k jiným úlohám, jak je znázorněno na obrázku Krok 1 si Krok 2.

Spuštění sestavení potrubí

Zde jsme vybrali Projekt Guru99 1 jako počáteční úloha, připoutaná k jiným úlohám. Úlohy tedy poběží jedna po druhé.

Když potrubí Jenkins běží, můžete zkontrolovat jeho stav pomocí červeného a zeleného symbolu stavu. Červená znamená, že potrubí selhalo, zatímco zelená znamená úspěch.

V tomto příkladu potrubí Jenkins vidíme, že tlačítko je zelené. Potrubí je tedy úspěšné.

Spuštění sestavení potrubí

Provozování Jenkinsova potrubí

Klikněte na Běh provozovat plynovod Jenkins. Bude to vypadat nějak takto:

Provozování Jenkinsova potrubí

Ve výše uvedeném příkladu skriptu Jenkins pipeline ukazujeme jednoduchý program „helloworld.java“. Ale v projektech v reálném čase budete zodpovědní za vytváření a budování složitých potrubí v Jenkins. Níže naleznete ukázkový pohled na potrubí.

Provozování Jenkinsova potrubí

Osvědčené postupy používání Jenkins Pipeline:

  • Používejte originální potrubí Jenkins Pipeline
  • Vyvíjejte svůj kanál jako kód
  • Jakákoli práce, která nesouvisí s nastavením vašeho kanálu, by měla probíhat v rámci bloku fáze.
  • Veškeré práce na materiálu v potrubí musí být prováděny v rámci bloku uzlů.
  • Nepoužívejte vstup v rámci bloku uzlů.
  • Nikdy nenastavujte proměnné prostředí pomocí globální proměnné env
  • Zabalte své vstupy do časového limitu