Tutorial sulla pipeline Jenkins: come creare JenkinsFile (esempio)

Cos'è la pipeline Jenkins?

Pipeline Jenkins è una combinazione di plugin che supporta l'integrazione e l'implementazione di pipeline di distribuzione continua. Ha un server di automazione estensibile per creare pipeline di distribuzione semplici e complesse come codice tramite pipeline DSL. Una pipeline è un gruppo di eventi interconnessi tra loro in una sequenza.

Che cosa sono le pipeline di distribuzione continua? Come funziona?

In una pipeline Jenkins, ogni lavoro o evento ha una sorta di dipendenza da almeno uno o più eventi.

Funzionamento delle pipeline di distribuzione continua Jenkins
Funzionamento delle pipeline di distribuzione continua Jenkins

L'immagine sopra rappresenta una pipeline di consegna continua a Jenkins. Contiene un gruppo di stati chiamati build, deploy, test e release. Questi eventi sono interconnessi tra loro. Ogni stato ha i suoi eventi, che funzionano in una sequenza chiamata pipeline di consegna continua.

Una pipeline di distribuzione continua è un'espressione automatizzata per visualizzare il tuo processo per ottenere software per il controllo delle versioni. Pertanto, ogni modifica apportata al tuo software passa attraverso una serie di processi complessi prima di essere rilasciata. Comporta anche lo sviluppo del software in modo affidabile e ripetibile e la progressione del software creato attraverso più fasi di analisi e distribuzione.

Cos'è un JenkinsFile?

Le pipeline Jenkins possono essere definite utilizzando un file di testo chiamato JenkinsFile. È possibile implementare la pipeline come codice utilizzando JenkinsFile e questo può essere definito utilizzando un linguaggio specifico del dominio (DSL). Con JenkinsFile puoi scrivere i passaggi necessari per eseguire una pipeline Jenkins.

I vantaggi dell'utilizzo JenkinsFile sono:

  • Puoi creare pipeline automaticamente per tutti i rami ed eseguire richieste pull con una sola JenkinsFile.
  • Puoi rivedere il tuo codice Jenkins sulla pipeline
  • Puoi controllare la tua pipeline Jenkins
  • Questa è l'unica fonte per la tua pipeline e può essere modificata da più utenti.

JenkinsFile può essere definito dall'interfaccia utente Web o con un file Jenkins.

Sintassi della pipeline dichiarativa e con script:

Esistono due tipi di sintassi della pipeline Jenkins utilizzati per definire il tuo JenkinsFile.

  1. Dichiarativo
  2. Script

Dichiarativo:

La sintassi dichiarativa della pipeline offre un modo semplice per creare pipeline. Contiene una gerarchia predefinita per creare pipeline Jenkins. Ti dà la possibilità di controllare tutti gli aspetti dell'esecuzione di una pipeline in modo semplice e diretto.

Sceneggiato:

La pipeline Jenkins scriptata viene eseguita sul master Jenkins con l'aiuto di un esecutore leggero. Utilizza pochissime risorse per tradurre la pipeline in comandi atomici. Sia la sintassi dichiarativa che quella scriptata sono diverse tra loro e sono definite in modo totalmente diverso.

Perché utilizzare la pipeline di Jenkin?

Jenkins è aperto server di integrazione continua che ha la capacità di supportare l’automazione dei processi di sviluppo software. Puoi creare più processi di automazione con l'aiuto di casi d'uso ed eseguirli come una pipeline Jenkins.

Ecco i motivi per cui dovresti utilizzare la pipeline Jenkins:

  • La pipeline Jenkins è implementata come codice che consente a più utenti di modificare ed eseguire il processo della pipeline.
  • Le condutture sono robuste. Pertanto, se il tuo server subisce un riavvio imprevisto, la pipeline verrà ripresa automaticamente.
  • È possibile mettere in pausa il processo della pipeline e attenderne la ripresa finché non viene ricevuto un input da parte dell'utente.
  • Jenkins Pipelines supporta grandi progetti. Puoi eseguire più lavori e persino utilizzare le pipeline in un ciclo.

Pipeline Jenkins Concepts

Termine Descrizione
Conduttura La pipeline è un insieme di istruzioni fornite sotto forma di codice per la consegna continua ed è costituita dalle istruzioni necessarie per l'intero processo di creazione. Con la pipeline è possibile creare, testare e distribuire l'applicazione.
Nodo La macchina su cui viene eseguito Jenkins è chiamata nodo. Un blocco nodo viene utilizzato principalmente nella sintassi della pipeline basata su script.
Stage Un blocco di fasi contiene una serie di passaggi in una pipeline. Cioè, i processi di creazione, test e distribuzione si riuniscono tutti in una fase. In genere, per visualizzare il processo della pipeline Jenkins viene utilizzato un blocco di fasi.
step Un passo non è altro che una singola attività che esegue un processo specifico in un momento definito. Una pipeline prevede una serie di passaggi.

Installa il plugin Build Pipeline in Jenkins

Grazie alla costruire pipeline plugin, puoi creare una vista della pipeline dei lavori in entrata e in uscita e creare trigger che richiedono un intervento manuale.

Ecco come è possibile installare il costruire pipeline plugin nel tuo Jenkins:

Passo 1 ) Le impostazioni per il plugin si trovano sotto,

Gestisci Jenkins > Gestisci plugin.

Installa il plugin Build Pipeline in Jenkins

Se hai già installato il plug-in, verrà visualizzato nella scheda Installato.

Installa il plugin Build Pipeline in Jenkins

Passo 2 ) Se non hai il plugin precedentemente installato,

si presenta sotto il Disponibile scheda.

Una volta installato con successo il costruire pipeline plugin nel tuo Jenkins, segui questi passaggi per creare la tua pipeline Jenkins:

Come creare la pipeline Jenkins

Una volta effettuato l'accesso alla dashboard Jenkins:

Passo 1 ) Clicca sul "+" sul lato sinistro della dashboard Jenkins per creare una pipeline.

Creare la pipeline Jenkins

Passo 2 )

  1. Ti verrà chiesto di dare un nome alla vista della pipeline. Lo chiameremo “Conduttura Guru99" per tutta la durata di questa demo.
  2. Seleziona Costruisci una vista della pipeline per Opzioni
  3. Clicchi ok

Creare la pipeline Jenkins

Passo 3 ) Nella pagina successiva, ti verranno richiesti altri dettagli per configurare la tua pipeline Jenkins. Accetta semplicemente le impostazioni predefinite e assicurati di scegliere il primo job nelle impostazioni.

Fare clic su APPLICA e poi OK.

Creare la pipeline Jenkins

Questo ti mostrerà la vista della pipeline di esempio del tuo articolo, come indicato di seguito:

Creare la pipeline Jenkins

Esecuzione di una build di pipeline

Passo 1 ) Per eseguire una build di pipeline, è necessario prima concatenare i processi. Per questo, vai al tuo primo lavoro e fai clic su Configura.

Esecuzione di una build di pipeline

Passo 2 ) Ora, sotto Trigger di build, controlla il Costruisci dopo che sono stati creati altri progetti opzione.

Esecuzione di una build di pipeline

In questo modo è stata creata una catena per tutti i vostri lavori.

Passo 3 ) Installare il Crea vista pipeline plugin se non lo hai già installato.

Passo 4 ) Vai alla dashboard Jenkins e crea una vista facendo clic sul pulsante "+pulsante ". Seleziona il Costruisci vista pipeline opzione e clicca OK.

Esecuzione di una build di pipeline

Passo 5 ) Sotto Configurazione della vista pipelineindividuare Flusso della conduttura.

Sotto Flusso della conduttura, selezionare il lavoro iniziale da eseguire. Ora scegli il lavoro che ha catene ad altri lavori, come mostrato in Passo 1 e Passo 2 .

Esecuzione di una build di pipeline

Qui abbiamo selezionato Progetto Guru99 1 come lavoro iniziale, concatenato ad altri lavori. Quindi, uno per uno, i lavori verranno eseguiti nella pipeline.

Quando la pipeline Jenkins è in esecuzione, puoi verificarne lo stato con l'aiuto dei simboli di stato rosso e verde. Il rosso significa che la pipeline ha fallito, mentre il verde indica il successo.

In questo esempio di pipeline Jenkins, vediamo che il pulsante è verde. Quindi il gasdotto ha successo.

Esecuzione di una build di pipeline

Esecuzione dell'oleodotto Jenkins

Fare clic su Correre per gestire l'oleodotto Jenkins. Apparirà qualcosa del genere:

Esecuzione dell'oleodotto Jenkins

Nell'esempio di script di pipeline di Jenkins sopra, stiamo dimostrando un semplice programma "helloworld.java". Ma nei progetti in tempo reale, sarai responsabile della creazione e della costruzione di pipeline complesse in Jenkins. Vedi sotto per una vista di esempio della pipeline.

Esecuzione dell'oleodotto Jenkins

migliori pratiche utilizzando Jenkins Pipeline:

  • Utilizza la pipeline Jenkins originale
  • Sviluppa la tua pipeline come codice
  • Qualsiasi lavoro non di configurazione nella pipeline dovrebbe avvenire all'interno di un blocco di fasi.
  • Qualsiasi lavoro materiale in una pipeline deve essere eseguito all'interno di un blocco nodo.
  • Non utilizzare l'input all'interno di un blocco nodo.
  • Non impostare mai variabili di ambiente con la variabile globale env
  • Avvolgi i tuoi input in un timeout