Come utilizzare le variabili di ambiente in Jenkinsfile

Come utilizzare le variabili di ambiente in Jenkinsfile
Jenkins è un'applicazione server basata su Java che funziona all'interno di un contenitore servlet come Apache, Tomcat o Jetty. È costituito da plugin che forniscono varie funzionalità e funzionalità come supporto per sistemi di controllo della versione, strumenti di build e framework di test. Jenkins fornisce anche un'interfaccia Web per gestire e configurare le build e visualizzare i risultati e i report di build.

Jenkins è diventato uno dei server di automazione più popolari che svolge un ruolo significativo nelle operazioni di CI/CD nel ciclo di sviluppo.

In Jenkins, ci sono vari modi in cui puoi creare un nuovo lavoro di Jenkins. Questi metodi includono:

  1. Interfaccia Web Jenkins - Un modo per creare un lavoro in Jenkins è utilizzare l'interfaccia Web Jenkins. Ciò comporta l'accesso a Jenkins, il clic sul collegamento "Nuovo elemento" e seguire le istruzioni per creare un nuovo lavoro.
  2. Jenkinsfile - Un altro modo per creare un lavoro in Jenkins è usare un Jenkinsfile. Un Jenkinsfile è un file di testo che contiene le definizioni per uno o più lavori di Jenkins. In genere viene controllato nel controllo della versione e può essere utilizzato per automatizzare il processo di creazione e configurazione di lavori.
  3. Jenkins API - Puoi anche creare posti di lavoro in Jenkins usando l'API Jenkins. L'API Jenkins consente di creare e configurare i lavori a livello di programmazione, oltre a attivare le build e recuperare i risultati della build.
  4. Strumenti di terze parti: è possibile utilizzare vari strumenti e plugin di terze parti per creare e gestire i lavori Jenkins. Ad esempio, il plug-in Jenkins Job DSL consente di creare i lavori utilizzando un linguaggio specifico del dominio (DSL) che è scritto in Groovy.
  5. Copia di un lavoro esistente - Infine, puoi creare un nuovo lavoro in Jenkins copiando un lavoro esistente. Questo può essere utile se si desidera creare un nuovo lavoro simile a uno esistente ma con lievi differenze.

Nonostante tutti i metodi per creare un lavoro in Jenkins, l'uso di Jenkensfile rimane uno dei più popolari. Questo perché fornisce una sintassi dichiarativa intuitiva per definire una raccolta di passaggi e fasi. Il file può anche essere integrato in un repository, consentendo a Jenkins di rilevare ed eseguire automaticamente la build.

Pertanto, quando lavori in un Jenkinsfile, incontrerai tali casi in cui è necessario utilizzare le variabili di ambiente.

Quali sono le variabili di ambiente

Le variabili di ambiente si riferiscono a una serie di coppie di valore chiave a cui è possibile accedere o impostare da un lavoro di Jenkins. Le variabili di ambiente sono utili quando è necessario archiviare informazioni richieste in più progetti o passaggi. Ciò consente di passare i valori che sono archiviati nelle variabili in vari progetti senza ripetizione.

Jenkins espone varie variabili di ambiente come segue:

  • Variabili globali - Jenkins fornisce una serie di variabili globali disponibili per tutti i lavori e build. È possibile accedere a queste variabili utilizzando il env oggetto in un Jenkinsfile o uno script.
  • Variabili specifiche del lavoro - Possiamo anche definire le variabili di ambiente con scoperto per un determinato lavoro. Possiamo definire questi tipi di variabili di ambiente nel file di configurazione del lavoro. Tuttavia, è bene ricordare che queste variabili sono accessibili solo su quel lavoro.
  • Variabili Build - La terza variabile di ambiente in Jenkins è le variabili di build. Queste variabili possono essere impostate usando il env Blocca in un Jenkinsfile o impostando le variabili di ambiente in uno script.
  • Variabili specifiche dell'agente - Infine, Jenkins ci consente di definire le variabili specifiche per un determinato agente. Possiamo definire le variabili dell'agente nel file di configurazione dell'agente. Allo stesso modo, questi tipi di variabili sono esclusi solo a quell'agente.

Visualizza le variabili di ambiente in Jenkins

Per visualizzare le variabili di ambiente disponibili sul controller Jenkins, vai al seguente URL:

[Jenkins_address]/env-vars.html

Esempio:

http: // localhost: 8080/env-vars.html

Un output di esempio è il seguente:

Accedi alle variabili di ambiente in Jenkins

Come accennato, Jenkins espone le variabili di ambiente usando il nome dell'oggetto Env. Pertanto, possiamo usare questo oggetto per accedere ai valori di varie variabili di ambiente in Jenkins.

Prendi la seguente pipeline di esempio:

tubatura
agente qualsiasi
fasi
stadio ('env vars')
Passaggi
echo "lavoro: $ env.Build_id in esecuzione su $ env.Jenkins_url "



L'esempio precedente utilizza l'oggetto Env per ottenere il numero di build e l'indirizzo del server. Pertanto, l'esecuzione della pipeline precedente dovrebbe restituire il seguente output:

Lavoro: 1 in esecuzione su http: // localhost: 9001/

Possiamo anche accedere alle variabili di ambiente Jenkins utilizzando il nome corto variabile. Ad esempio, possiamo ottenere il numero di build come $ build_number:

tubatura
agente qualsiasi
fasi
stadio ('env vars')
Passaggi
echo "lavoro: $ build_id in esecuzione su $ jenkins_url"



Output risultante:

Lavoro: 2 in esecuzione su http: // localhost: 9001/

Dichiarare le variabili di ambiente specifiche del lavoro in Jenkins

È possibile definire le variabili di ambiente specifiche per il lavoro nel Jenkisfile utilizzando un blocco ambientale.

La sintassi è la seguente:

ambiente
[nome variabile] = "[valore]"

Un output di esempio è il seguente:

tubatura
agente qualsiasi
ambiente
Cc = 'gcc'

..

L'esempio precedente dovrebbe creare un ambiente locale chiamato CC con il valore di GCC.

Conclusione

Hai imparato le varie variabili in Jenkins e come creare e accedere alle variabili di ambiente globale e locale in Jenkins.