Les variables d'entorn són una eina poderosa en Jenkins que permeten passar informació entre diferents parts d'una pipeline o feina. Aquestes variables poden contenir informació com rutes de fitxers, credencials, configuracions específiques, i molt més. En aquest tema, aprendrem com utilitzar variables d'entorn en les pipelines de Jenkins.

Conceptes Clau

  1. Variables d'Entorn Predefinides: Jenkins proporciona una sèrie de variables d'entorn predefinides que es poden utilitzar directament en les pipelines.
  2. Definició de Variables d'Entorn: Es poden definir variables d'entorn personalitzades dins de les pipelines.
  3. Accés a Variables d'Entorn: Com accedir i utilitzar aquestes variables dins de les pipelines.

Variables d'Entorn Predefinides

Jenkins proporciona diverses variables d'entorn predefinides que es poden utilitzar en les pipelines. Algunes de les més comunes són:

Variable Descripció
BUILD_NUMBER El número de construcció actual.
BUILD_ID Un identificador únic per a la construcció actual.
JOB_NAME El nom de la feina.
WORKSPACE El directori de treball de la feina.
JENKINS_HOME El directori d'instal·lació de Jenkins.
GIT_COMMIT El hash del commit actual (si s'utilitza Git).
GIT_BRANCH La branca de Git actual (si s'utilitza Git).

Definició de Variables d'Entorn

Es poden definir variables d'entorn personalitzades dins de les pipelines de Jenkins. Això es pot fer utilitzant la secció environment en una pipeline declarativa o utilitzant la funció withEnv en una pipeline scriptada.

Pipeline Declarativa

pipeline {
    agent any
    environment {
        MY_VAR = 'Hello, World!'
    }
    stages {
        stage('Example') {
            steps {
                echo "The value of MY_VAR is ${env.MY_VAR}"
            }
        }
    }
}

Pipeline Scriptada

node {
    withEnv(['MY_VAR=Hello, World!']) {
        stage('Example') {
            echo "The value of MY_VAR is ${env.MY_VAR}"
        }
    }
}

Accés a Variables d'Entorn

Les variables d'entorn es poden accedir utilitzant la sintaxi ${env.VARIABLE_NAME} dins de les pipelines. Aquí teniu un exemple pràctic:

Exemple Pràctic

pipeline {
    agent any
    environment {
        GREETING = 'Hello'
        TARGET = 'World'
    }
    stages {
        stage('Print Greeting') {
            steps {
                script {
                    def message = "${env.GREETING}, ${env.TARGET}!"
                    echo message
                }
            }
        }
    }
}

En aquest exemple, definim dues variables d'entorn GREETING i TARGET, i les utilitzem per construir un missatge que es mostra a la consola.

Exercicis Pràctics

Exercici 1: Utilitzant Variables Predefinides

  1. Crea una pipeline que imprimeixi el número de construcció (BUILD_NUMBER) i el nom de la feina (JOB_NAME).

Solució

pipeline {
    agent any
    stages {
        stage('Print Build Info') {
            steps {
                echo "Build Number: ${env.BUILD_NUMBER}"
                echo "Job Name: ${env.JOB_NAME}"
            }
        }
    }
}

Exercici 2: Definint i Utilitzant Variables Personalitzades

  1. Crea una pipeline que defineixi una variable d'entorn personalitzada MY_MESSAGE amb el valor "Hello Jenkins!" i imprimeixi aquest valor.

Solució

pipeline {
    agent any
    environment {
        MY_MESSAGE = 'Hello Jenkins!'
    }
    stages {
        stage('Print Custom Message') {
            steps {
                echo "Custom Message: ${env.MY_MESSAGE}"
            }
        }
    }
}

Errors Comuns i Consells

  1. Error: Variable no definida: Assegura't que la variable d'entorn està definida abans d'intentar accedir-hi.
  2. Error de Sintaxi: Utilitza la sintaxi correcta ${env.VARIABLE_NAME} per accedir a les variables d'entorn.
  3. Variables Sensibles: No emmagatzemis informació sensible com contrasenyes directament en les variables d'entorn. Utilitza les credencials de Jenkins per a això.

Conclusió

Les variables d'entorn són una eina essencial per gestionar informació i configuracions dins de les pipelines de Jenkins. Hem après com utilitzar variables predefinides, definir variables personalitzades i accedir-hi dins de les pipelines. Amb aquesta base, estàs preparat per utilitzar variables d'entorn per fer les teves pipelines més flexibles i dinàmiques.

© Copyright 2024. Tots els drets reservats