Un Jenkinsfile è un file di testo contenente istruzioni per la costruzione di un progetto ed eseguire test in Jenkins.
Un Jenkinsfile viene in genere utilizzato per definire una pipeline Jenkins e viene controllato nel controllo della sorgente insieme al resto del codice sorgente del progetto. Se il Jenkinsfile viene modificato, l'istanza di Jenkins rileverà le modifiche e ricostruirà il progetto con le istruzioni specificate nel file.
L'uso di un Jenkinsfile aiuta ad automatizzare il processo di build e test e garantisce che il progetto sia costruito in modo coerente ogni volta. Fa anche facilmente la condivisione e il riutilizzo delle configurazioni di build tra diversi progetti.
Quando si lavora con un Jenkinsfile, è possibile incontrare un'istanza in cui è necessario archiviare i valori che vengono utilizzati in seguito nel file o referenziati da altre parti dello script. Qui entrano in gioco le variabili di Jenkinsfile.
In questo tutorial, impareremo come utilizzare le variabili in un Jenkinsfile per archiviare i valori per un uso successivo.
Cos'è una variabile Jenkinsfile?
Una variabile Jenkinsfile si riferisce a un contenitore di archiviazione definito e utilizzato per archiviare e fare riferimento ai valori soggetti a modifiche nello script.
Nella maggior parte dei casi, definiamo le variabili all'inizio di Jenkinsfile. Le variabili conterranno un ambito globale, il che significa che è possibile accedere in qualsiasi momento del Jenkinfile.
Come definire una variabile in Jenkinsfile dichiarativo
Considera il seguente Jenkinfile che stampa un semplice testo di Hello World alla console.
tubatura
agente qualsiasi
fasi
Stage ('Hello')
Passaggi
Echo "Hello World"
Supponiamo di voler aggiungere una variabile contenente una determinata stringa e stamparla alla console anziché "Hello World"?
Possiamo iniziare definendo una nuova variabile per trattenere il messaggio in output sulla console.
In un Jenkinsfile, definiamo una variabile utilizzando la parola chiave DEF seguita dal nome della variabile, dell'operatore di assegnazione e del valore della variabile.
Per esempio:
def msg = "Questo è un testo personalizzato"
L'esempio sopra definisce una variabile chiamata msg che tiene un valore stringa.
Le variabili sono dinamiche. Pertanto, non è necessario specificare il tipo di dati durante la dichiarazione variabile.
Possiamo quindi usare la variabile come mostrato:
def msg = "Questo è un testo personalizzato"
tubatura
agente qualsiasi
fasi
Stage ('Hello')
Passaggi
echo "$ msg"
Assicurarsi di racchiudere il messaggio tra virgolette.
Una volta che abbiamo costruito la pipeline, dovremmo vedere il testo stampato nella console come mostrato:
Se si desidera modificare il valore di una variabile predefinita, è possibile utilizzare un blocco di script come mostrato:
stages ()
passi ()
script
msg = "Ora la stringa è diversa!!"
Di seguito mostra la definizione completa della pipeline.
def msg = "Questo è un testo personalizzato"
tubatura
agente qualsiasi
fasi
Stage ('Hello')
Passaggi
script
msg = "Ora la stringa è diversa!!"
echo "$ msg"
L'esecuzione della pipeline sopra dovrebbe restituire il testo:
Conclusione
In questo articolo, hai scoperto come definire le variabili in un Jenkinsfile e hai imparato come usare le variabili e modificare i loro valori all'interno di un Jenkinsfile.