GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Libreria condivisa Jenkins:come creare, configurare e utilizzare

Introduzione

Jenkins è un server di automazione open source per sviluppatori di software. Consente agli utenti di creare e gestire elementi ripetibili che rendono lo sviluppo e la distribuzione del software più semplici ed efficienti. Uno di questi elementi sono le librerie condivise Jenkins.

In questo tutorial definiremo cosa sono le librerie condivise Jenkins e spiegheremo come crearle, gestirle e usarle nello sviluppo di software.

Prerequisiti

  • Una copia di Jenkins installata e pronta per l'uso (scopri come installare Jenkins su Windows 10, Ubuntu 18.04, Debian 10, CentOS 8 o installare Jenkins su un cluster Kubernetes)
  • Accesso a un browser web

Che cos'è una libreria condivisa in Jenkins?

Una libreria condivisa in Jenkins è una raccolta di script Groovy condivisi tra diversi lavori Jenkins. Per eseguire gli script, vengono inseriti in un file Jenkins.

Ogni libreria condivisa richiede agli utenti di definire un nome e un metodo per recuperare il codice sorgente. Questi metodi includono file locali, repository Git e plug-in SCM Jenkins. Facoltativamente, gli utenti possono anche impostare una versione predefinita della libreria.

Perché utilizzare una libreria condivisa Jenkins?

Gli sviluppatori utilizzano le librerie condivise per evitare di scrivere lo stesso codice da zero per più progetti. Le librerie condivise condividono il codice tra i progetti di sviluppo, ottimizzando così il ciclo di vita dello sviluppo del software. Ciò riduce drasticamente il tempo dedicato alla codifica e aiuta a evitare la duplicazione del codice.

La creazione di una libreria condivisa semplifica anche il processo di push degli aggiornamenti del codice sorgente per un progetto. L'aggiornamento del codice sorgente della libreria aggiorna anche il codice di ogni progetto che utilizza la libreria.

Come creare una libreria condivisa in Jenkins?

La creazione di una libreria condivisa in Jenkins prevede i seguenti passaggi.

Passaggio 1:crea uno script Groovy

Innanzitutto, crea uno script Groovy utilizzando il codice che desideri salvare nella libreria.

Ad esempio, il seguente script Groovy crea una funzione di saluto che stampa Hello e un name definito dall'utente parametro come output:

#!/usr/bin/env groovy

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

Passaggio 2:aggiungi lo script a un repository Git

Crea un nuovo repository Git contenente una directory denominata vars . Salva lo script in vars directory come sayHello.groovy .

Passaggio 3:aggiungi una libreria condivisa in Jenkins

1. Apri la dashboard Jenkins nel tuo browser web.

2. Fai clic su Gestisci Jenkins link sul lato sinistro della dashboard Jenkins.

3. In Configurazione del sistema , fai clic su Configura sistema pulsante.

4. Scorri verso il basso fino alle Librerie di pipeline globali sezione e fai clic su Aggiungi pulsante.

5. Si apre una nuova finestra di dialogo che richiede di impostare i dettagli della libreria, come il nome e il metodo SCM. Compila i dettagli per configurare la libreria:

  • Nome: Il nome della nuova Libreria condivisa.
  • Versione predefinita: Imposta una versione predefinita per la nuova libreria condivisa. A seconda dell'SCM, questo può essere un nome di ramo, un tag, un hash di commit, ecc.
  • Carica implicitamente: Selezionando questa opzione, gli script possono accedere automaticamente alla libreria senza che sia necessario richiederlo.
  • Consenti la sostituzione della versione predefinita: Selezionando questa opzione gli script possono selezionare una versione personalizzata della libreria.
  • Includi modifiche alla @Library nelle modifiche recenti al lavoro: Selezionando questa opzione, le modifiche alla libreria influiranno su tutte le build che utilizzano la libreria.
  • Versioni recuperate nella cache sul master per un rapido recupero: Selezionando questa opzione, Jenkins memorizza nella cache le versioni di questa libreria sul master.
  • Metodo di recupero: Scegli Modern SCM (quando si utilizzano i plug-in Jenkins SCM) o Legacy SCM (quando si utilizzano metodi SCM non integrati con Jenkins) dal menu a discesa. Selezionando Modern SCM puoi scegliere un plug-in SCM e configurare le opzioni pertinenti.
  • Percorso Biblioteca (facoltativo): Consente di impostare un percorso relativo dalla radice SCM alla radice della directory della libreria.

6. Una volta terminata la configurazione della nuova libreria, fai clic su Salva per salvare le modifiche in Jenkins.

Fase 4:utilizza una libreria condivisa in una pipeline Jenkins

Dopo aver aggiunto la libreria condivisa dal repository Git a Jenkins, puoi fare riferimento ad essa negli script della pipeline.

1. Crea un nuovo elemento della pipeline in Jenkins. Digita il nome dell'elemento e seleziona Pipeline come tipo di progetto. Fare clic su OK una volta terminato.

2. Aggiungi un semplice script che carichi la libreria condivisa. Abbiamo usato Alex come name parametro:

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

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

3. Fai clic su Salva per salvare le modifiche alla pipeline.

4. La creazione della pipeline e il controllo dell'output della console rivela che la libreria condivisa carica e interagisce correttamente con l'input dell'utente:

Come caricare una libreria condivisa in una pipeline

Se una libreria condivisa non viene caricata in modo implicito, Jenkins offre diversi modi per fare riferimento ad essa utilizzando lo script Groovy.

Aggiungi la seguente annotazione all'inizio del codice Jenkins per fare riferimento manualmente a uno script:

@Library('[library name]')_

Aggiungi il segno di chiocciola (@ ) e il nome della versione per caricare una versione specifica della libreria:

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

Se desideri caricare più librerie contemporaneamente, separa i nomi con una virgola (, ) e uno spazio vuoto:

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

Un'altra opzione è caricare le librerie condivise in modo dinamico. Puoi inserire questo tipo di annotazione in qualsiasi punto dello script:

library '[library name]'

È anche possibile caricare dinamicamente una libreria di terze parti che non è inclusa nelle Librerie Global Pipeline di Jenkins impostazioni. Ad esempio, il caricamento di una libreria da Git richiede di fornire il nome della libreria, un tag di classe Jenkins, l'URL Git della libreria e credenziali valide per accedere alla libreria.

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

Un altro metodo consiste nel collegarsi direttamente a un repository Git contenente una libreria. Quando si configura una pipeline, scorrere fino alla Pipeline sezione e seleziona lo Script Pipeline da SCM opzione dalla Definizione menu a tendina.

Dopo aver selezionato Git opzione da SCM menu a discesa, aggiungi l'URL del repository, le credenziali e l'ID del ramo e fai clic su Salva per confermare.


Ubuntu
  1. Ansible Playbook:come creare e configurare i playbook

  2. Segreti di Kubernetes:come creare, utilizzare e accedere ai segreti

  3. Volumi Docker NFS:come creare e utilizzare

  4. Come creare e utilizzare i sottodomini

  5. Introduzione alle librerie condivise Linux (come creare librerie condivise)

Come creare e utilizzare file di scambio su Linux

Come installare e utilizzare Jenkins su Ubuntu 18.04 e 16.04 LTS

Come installare e configurare Jenkins su CentOS 8 / RHEL 8

Come installare e configurare Jenkins su Ubuntu

Come installare e configurare Jenkins in Ubuntu 20.04

Come configurare e utilizzare il bridge di rete in Ubuntu Linux