Parametri Jenkinsfile

Parametri Jenkinsfile

Un Jenkinsfile è un file di testo che contiene la definizione di una pipeline Jenkins ed è controllato nel controllo della sorgente. Viene utilizzato per automatizzare parti della pipeline CI/CD, definendo attività e parametri che Jenkins può utilizzare per eseguire tali attività.

Un modo per parametrizzare un Jenkinsfile è usare i parametri. I parametri consentono di passare i dati in un Jenkinsfile in fase di esecuzione. Ciò può essere utile per configurazioni specifiche dell'ambiente o di passare valori specifici per la build corrente.

In questo tutorial, imparerai come utilizzare i parametri di Jenkinsfile in una pipeline di Jenkins.

Requisiti:

  1. Conoscenza di base di Jenkins e del plugin della pipeline Jenkins
  2. Un'istanza di Jenkins con il plugin della pipeline Jenkins installato
  3. Un filo Jenkins nel tuo repository di controllo sorgente

Jenkins dichiara i parametri

Prima di usare qualsiasi parametri in un filo di Jenkins, dobbiamo prima dichiararli nel Jenkinsfile. Possiamo farlo usando il blocco dei parametri.

Prendi ad esempio la sezione della pipeline mostrata di seguito:

tubatura
parametri
String (Nome: 'Environment', DefaultValue: 'Dev', Descrizione: 'L'ambiente da distribuire a')
booleano (nome: "distribuire", defaultValue: false, descrizione: "se distribuire o no")

..

Nell'esempio sopra, Jenkinsfile contiene due parametri come:

  1. AMBIENTE - un parametro stringa con un valore predefinito di 'dev.'
  2. Distribuire - un parametro booleano con un valore predefinito di false.

Possiamo specificare qualsiasi numero di parametri all'interno del blocco dei parametri. Jenkins supporta vari tipi di parametri tra cui:

  1. Tipi di parametri di stringa - usato per archiviare una sequenza di caratteri
  2. Parametri di testo - Simile al tipo di parametro stringa ma può coprire più righe. Un esempio è un parametro di descrizione, come mostrato nell'esempio precedente.
  3. Booleanparam - BooleanParam o Boolean è usato per archiviare i valori di Truthy o Falsy.
  4. Scelta - I parametri di scelta, d'altra parte, consentono di archiviare valori a scelta multipla.
  5. Parola d'ordine - I parametri della password vengono utilizzati per archiviare le password e le credenziali di autenticazione.

Parametri di accesso Jenkins

Una volta che abbiamo dichiarato i tuoi parametri in Jenkinsfile, possiamo accedere ai loro valori utilizzando l'oggetto $ parametri.

Ad esempio, per accedere al valore del parametro ambientale in una fase, possiamo usare $ params.AMBIENTE.

Esempio di dimostrazione

Prendi la pipeline di esempio sottostante che dimostra come utilizzare vari tipi di parametri in Jenkins:

tubatura
agente qualsiasi
parametri
String (Nome: 'Nome', DefaultValue: 'Jenkins', Descrizione: 'Nome utente')
Testo (Nome: 'Desc', DefaultValue: ", Descrizione: 'Descrizione sull'utente. ')
BooleanParam (nome: 'Toggle', DefaultValue: True, Descrizione: 'Abilita/Disabilita')
Scelta (nome: "scelta", scelte: [1,2,3,4,5], descrizione: "scegli un valore")
Password (Nome: 'Passwd', DefaultValue: 'Secret', Descrizione: 'Fornisci password')

fasi
Stage ('Esempio')
Passaggi
echo "ciao $ params.nome"
echo "Desc: $ params.Desc "
Echo "Toggle: $ params.Toggle "
echo "Choice: $ params.scelta"
echo "password: $ params.passwd "



Produzione:

Jenkins imposta il valore

In un Jenkinsfile dichiarativo, possiamo impostare un valore di un determinato parametro come mostrato nell'esempio seguente:

tubatura
parametri
String (Nome: "Environment", DefaultValue: "Dev", Descrizione: "L'ambiente da distribuire su", Valore: "Prod")
..

In questo esempio, il parametro ambientale verrà sempre impostato su "Prod" quando si esegue la build.

Quando lavoriamo in un Jenkinsfile scritto, possiamo impostare il valore per un determinato parametro usando il comando build. Un esempio di demone è come mostrato:

nodo
..
Stage ('Disploy')
Build Job: "Distribuisci", Parametri: [[$ Class: "StringParameterValue", nome: "Ambiente", Valore: "Prod"]

In questo caso, il valore della pipeline della variabile di ambiente è sempre impostato su Prod.

Impostazione del parametro Valore predefinito

È una buona idea impostare i valori predefiniti per i parametri definiti se il valore non viene fornito durante il processo di build. Possiamo farlo usando il parametro DefaultValue come mostrato nell'esempio seguente:

parametri
String (Nome: 'Environment', DefaultValue: 'Dev', Descrizione: 'L'ambiente da distribuire a')

In questo caso, il parametro ambientale verrà predefinito a "Dev" se un valore non viene fornito durante la build.

Conclusione

In questo articolo, hai scoperto come utilizzare i parametri di Jenkinsfile in una pipeline di Jenkins. Hai imparato come dichiarare i parametri nel Jenkinsfile, accedere ai loro valori nelle fasi e impostare il valore dei parametri durante il processo di build. Infine, abbiamo scoperto come utilizzare il parametro DefaultValue per assegnare un valore predefinito a un determinato parametro se il valore è mancante.

Usando i parametri di Jenkinsfile, possiamo rendere la nostra pipeline Jenkins più flessibile e più facile da personalizzare per ambienti e casi di utilizzo diversi.