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')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:
tubaturaIl 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:
tubaturaConclusione
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.