GNU/Linux >> Znalost Linux >  >> Ubuntu

Jenkins Shared Library:Jak vytvářet, konfigurovat a používat

Úvod

Jenkins je open-source automatizační server pro vývojáře softwaru. Umožňuje uživatelům vytvářet a spravovat opakovatelné prvky, díky nimž je vývoj a nasazení softwaru jednodušší a efektivnější. Jedním z těchto prvků jsou Jenkins sdílené knihovny.

V tomto tutoriálu definujeme, co jsou sdílené knihovny Jenkins, a vysvětlíme, jak je můžete vytvářet, spravovat a používat při vývoji softwaru.

Předpoklady

  • Kopie Jenkins nainstalovaná a připravená k použití (přečtěte si, jak nainstalovat Jenkins na Windows 10, Ubuntu 18.04, Debian 10, CentOS 8 nebo jak nainstalovat Jenkins na cluster Kubernetes)
  • Přístup k webovému prohlížeči

Co je sdílená knihovna v Jenkins?

Sdílená knihovna v Jenkins je sbírka skriptů Groovy sdílených mezi různými úlohami Jenkins. Pro spouštění skriptů jsou vtaženy do Jenkinsfile.

Každá sdílená knihovna vyžaduje, aby uživatelé definovali název a metodu získávání zdrojového kódu. Tyto metody zahrnují místní soubory, úložiště Git a zásuvné moduly Jenkins SCM. Volitelně mohou uživatelé také nastavit výchozí verzi knihovny.

Proč používat sdílenou knihovnu Jenkins?

Vývojáři používají sdílené knihovny, aby se vyhnuli psaní stejného kódu od začátku pro více projektů. Sdílené knihovny sdílejí kód napříč vývojovými projekty, čímž optimalizují životní cyklus vývoje softwaru. To výrazně zkracuje čas strávený kódováním a pomáhá vyhnout se duplicitnímu kódu.

Vytvoření sdílené knihovny také zjednodušuje proces odesílání aktualizací zdrojového kódu pro projekt. Aktualizace zdrojového kódu knihovny také aktualizuje kód každého projektu, který knihovnu používá.

Jak vytvořit sdílenou knihovnu v Jenkins?

Vytvoření sdílené knihovny v Jenkins zahrnuje následující kroky.

Krok 1:Vytvořte skript Groovy

Nejprve vytvořte skript Groovy pomocí kódu, který chcete uložit do knihovny.

Například následující skript Groovy vytvoří funkci pozdravu, která vytiskne Hello a uživatelsky definovaný name parametr jako výstup:

#!/usr/bin/env groovy

def call(String name = 'human') {
  echo "Hello, ${name}."
}

Krok 2:Přidejte skript do úložiště Git

Vytvořte nové úložiště Git obsahující adresář s názvem vars . Uložte skript do vars adresář jako sayHello.groovy .

Krok 3:Přidejte sdílenou knihovnu v Jenkins

1. Otevřete ovládací panel Jenkins ve svém webovém prohlížeči.

2. Klikněte na Spravovat Jenkins odkaz na levé straně ovládacího panelu Jenkins.

3. V části Konfigurace systému , klikněte na Konfigurovat systém tlačítko.

4. Přejděte dolů na Globální knihovny potrubí a klikněte na Přidat tlačítko.

5. Otevře se nové dialogové okno s výzvou k nastavení podrobností knihovny, jako je název a metoda SCM. Vyplňte podrobnosti pro konfiguraci knihovny:

  • Jméno: Název nové sdílené knihovny.
  • Výchozí verze: Nastavte výchozí verzi pro novou sdílenou knihovnu. V závislosti na SCM to může být název větve, tag, commit hash atd.
  • Implicitně načíst: Zaškrtnutím této možnosti umožníte skriptům automaticky přistupovat ke knihovně, aniž by o to musely žádat.
  • Povolit přepsání výchozí verze: Zaškrtnutím této možnosti umožníte skriptům vybrat vlastní verzi knihovny.
  • Zahrnout změny @Library do posledních změn úlohy: Zaškrtnutí této možnosti způsobí, že změny v knihovně ovlivní všechna sestavení, která knihovnu používají.
  • Uložte do mezipaměti načtené verze na hlavním serveru pro rychlé načtení: Zaškrtnutím této možnosti způsobí Jenkins načtené verze této knihovny do mezipaměti na hlavním serveru.
  • Metoda získávání: Z rozbalovací nabídky vyberte Moderní SCM (při použití zásuvných modulů Jenkins SCM) nebo Legacy SCM (při použití metod SCM, které nejsou integrované s Jenkinsem). Výběr Modern SCM vám umožní vybrat si plugin SCM a nakonfigurovat příslušné možnosti.
  • Cesta knihovny (volitelné): Umožňuje nastavit relativní cestu od kořenového adresáře SCM ke kořenovému adresáři knihovny.

6. Po dokončení konfigurace nové knihovny klikněte na tlačítko Uložit tlačítko pro uložení změn do Jenkinse.

Krok 4:Použití sdílené knihovny v Jenkinsově kanálu

Poté, co přidáte sdílenou knihovnu z úložiště Git do Jenkins, můžete na ni odkazovat ve svých kanálových skriptech.

1. Vytvořte novou položku potrubí v Jenkins. Zadejte název položky a vyberte Potrubí jako typ projektu. Po dokončení klikněte na OK.

2. Přidejte jednoduchý skript, který načte sdílenou knihovnu. Použili jsme Alex jako name parametr:

@Library('pipeline-library-demo')_

 stage('Demo') {
     echo 'Hello world'
     sayHello 'Alex'
 }

3. Klikněte na Uložit pro uložení změn do kanálu.

4. Vytvoření kanálu a kontrola výstupu konzoly odhalí, že sdílená knihovna se správně načítá a interaguje s uživatelským vstupem:

Jak načíst sdílenou knihovnu v kanálu

Pokud se sdílená knihovna nenačte implicitně, Jenkins nabízí několik způsobů, jak na ni odkazovat pomocí skriptu Groovy.

Chcete-li ručně odkazovat na skript, přidejte na začátek kódu Jenkins následující anotaci:

@Library('[library name]')_

Připojte zavináč (@ ) a název verze pro načtení konkrétní verze knihovny:

@Library('[library name]@[library version]')_

Pokud chcete načíst více knihoven současně, oddělte názvy čárkou (, ) a prázdné místo:

@Library(['[library name 1]', '[library name 2]'])_

Další možností je dynamické načítání sdílených knihoven. Tento typ anotace můžete umístit kdekoli ve skriptu:

library '[library name]'

Je také možné dynamicky načíst knihovnu třetí strany, která není zahrnuta v Jenkinsových Global Pipeline Libraries nastavení. Například načítání knihovny z Gitu vyžaduje, abyste zadali název knihovny, značku třídy Jenkins, adresu URL knihovny Git a platná pověření pro přístup ke knihovně.

library identifier: '[library name]@[library version]', retriever: modernSCM(
  [$class: 'GitSCMSource',
   remote: '[library Git URL]',
   credentialsId: '[Git credentials]'])

Další metodou je přímé propojení s úložištěm Git obsahujícím knihovnu. Při konfiguraci potrubí přejděte dolů na Potrubí a vyberte Skript potrubí z SCM možnost z Definice rozevírací nabídky.

Jakmile vyberete Git možnost z SCM v rozbalovací nabídce přidejte adresu URL úložiště, přihlašovací údaje a ID pobočky a klikněte na Uložit pro potvrzení.


Ubuntu
  1. Ansible Playbook:Jak vytvářet a konfigurovat Playbooky

  2. Jak vytvořit a používat subdomény

  3. Úvod do sdílených knihoven Linuxu (Jak vytvořit sdílené knihovny)

  1. Tajemství Kubernetes – Jak vytvářet, používat a přistupovat k tajemstvím

  2. NFS Docker Volumes:Jak vytvořit a používat

  3. Jak nainstalovat a nakonfigurovat Jenkins na CentOS 7 a RHEL 7

  1. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  2. Jak vytvořit a nakonfigurovat uživatele Sudo na Arch Linuxu

  3. Jak vytvářet a používat vlastní fakta v Ansible