Esempio di nodo Jenkinsfile

Esempio di nodo Jenkinsfile

Il blocco nodo in un Jenkinsfile consente di specificare una serie di passaggi che dovrebbero essere eseguiti su un determinato nodo. Un nodo è una macchina che fa parte dell'ambiente Jenkins ed è in grado di eseguire una pipeline.

Il blocco nodo può essere utilizzato per specificare il nodo su cui devono essere eseguiti i passaggi, nonché qualsiasi opzione o parametri per il nodo. Ad esempio, è possibile utilizzare un blocco nodo per specificare che un set specifico di passaggi dovrebbe essere eseguito su una particolare etichetta o un nodo specifico con determinate funzionalità.

In questo breve tutorial, discuteremo di come possiamo usare il blocco nodo per definire i passaggi eseguiti su un determinato nodo.

Sintassi

Quanto segue mostra la sintassi di base del blocco nodo in un dato Jenkinsfile.

node ('etichetta')
// passaggi da eseguire su un nodo con l'etichetta specificata

In questo esempio, i passaggi all'interno del blocco verranno eseguiti su un nodo con l'etichetta specificata. L'etichetta può essere un predefinito che è configurato nell'ambiente Jenkins, oppure può essere un generato dinamicamente che viene calcolato in fase di esecuzione.

Esempio di dimostrazione

Quello che segue è un semplice esempio che dimostra come possiamo utilizzare il blocco nodo per eseguire specifici passaggi Jenkins su un determinato nodo:

tubatura
fasi
Stage ('Controlla versioni')
Passaggi
node ('macos')
sh 'mvn -version'
sh 'git -version'




Il suddetto Jenkinsfile definisce una pipeline con una singola fase chiamata versioni di controllo. All'interno dello stadio, la pipeline contiene un blocco nodo che specifica che i passaggi all'interno del blocco dovrebbero essere eseguiti su un nodo con l'etichetta macOS. Il blocco nodo contiene due passaggi che eseguono i comandi MVN e GIT per stampare le informazioni sulla versione.

La query sulla versione Maven e Git installata può aiutare a garantire la massima compatibilità con le seguenti fasi della pipeline.

Di seguito è riportata la stessa pipeline utilizzando il blocco agente anziché il blocco nodo:

tubatura
agente
Etichetta "macos"

fasi
Stage ('Controlla versioni')
Passaggi
sh 'mvn -version'
sh 'git -version'



Conclusione

In questo, hai imparato come è possibile utilizzare il blocco nodo in un Jenkinsfile per definire una serie di passaggi che dovrebbero essere eseguiti su un determinato nodo.