Cómo usar las variables de entorno en Jenkinsfile

Cómo usar las variables de entorno en Jenkinsfile
Jenkins es una aplicación de servidor basada en Java que se ejecuta dentro de un contenedor de servlet como Apache, Tomcat o Jetty. Consiste en complementos que proporcionan diversas características y funcionalidades, como soporte para sistemas de control de versiones, herramientas de compilación y marcos de prueba. Jenkins también proporciona una interfaz web para administrar y configurar las compilaciones, y ver los resultados e informes de compilación.

Jenkins se ha convertido en uno de los servidores de automatización más populares que juega un papel importante en las operaciones de CI/CD en el ciclo de desarrollo.

En Jenkins, hay varias formas en que puedes crear un nuevo trabajo de Jenkins. Estos métodos incluyen:

  1. Interfaz web de Jenkins: una forma de crear un trabajo en Jenkins es usar la interfaz web de Jenkins. Esto implica iniciar sesión en Jenkins, hacer clic en el enlace "Nuevo elemento" y seguir las indicaciones para crear un nuevo trabajo.
  2. JENKINSFILE - Otra forma de crear un trabajo en Jenkins es usar un Jenkinsfile. A Jenkinsfile es un archivo de texto que contiene las definiciones para uno o más trabajos de Jenkins. Por lo general, se verifica en control de versiones y se puede utilizar para automatizar el proceso de creación y configuración de trabajos.
  3. API Jenkins: también puedes crear empleos en Jenkins usando la API de Jenkins. La API de Jenkins le permite crear y configurar los trabajos programáticamente, así como activar las compilaciones y recuperar los resultados de compilación.
  4. Herramientas de terceros: puede usar varias herramientas y complementos de terceros para crear y administrar los trabajos de Jenkins. Por ejemplo, el complemento Jenkins Job DSL le permite crear los trabajos utilizando un lenguaje específico de dominio (DSL) que está escrito en Groovy.
  5. Copiar un trabajo existente: finalmente, puede crear un nuevo trabajo en Jenkins copiando un trabajo existente. Esto puede ser útil si desea crear un nuevo trabajo que sea similar al existente pero con ligeras diferencias.

A pesar de todos los métodos para crear un trabajo en Jenkins, el uso de Jenkensfile sigue siendo uno de los más populares. Esto se debe a que proporciona una sintaxis declarativa intuitiva para definir una colección de pasos y etapas. El archivo también se puede integrar en un repositorio, lo que permite a Jenkins detectar y ejecutar la compilación automáticamente.

Por lo tanto, cuando trabaje en Jenkinsfile, encontrará tales casos en los que necesita usar las variables de entorno.

¿Cuáles son las variables de entorno?

Las variables de entorno se refieren a un conjunto de pares de valor clave a los que se puede acceder o establecer desde un trabajo de Jenkins. Las variables de entorno son útiles cuando necesita almacenar información que se requiere en múltiples proyectos o pasos. Esto le permite pasar los valores que se almacenan en las variables en varios proyectos sin repetición.

Jenkins expone varias variables de entorno de la siguiente manera:

  • Variables globales: Jenkins proporciona un conjunto de variables globales disponibles para todos los trabajos y compilaciones. Se puede acceder a estas variables utilizando el envidia Objeto en un Jenkinsfile o en un script.
  • Variables específicas del trabajo: también podemos definir las variables de entorno alcanzadas para un trabajo determinado. Podemos definir este tipo de variables de entorno en el archivo de configuración del trabajo. Sin embargo, es bueno recordar que estas variables solo son accesibles en ese trabajo.
  • Variables de compilación: la tercera variable de entorno en Jenkins son las variables de construcción. Estas variables se pueden establecer utilizando el envidia bloquear en un jenkinsfile o estableciendo las variables de entorno en un script.
  • Variables específicas del agente: finalmente, Jenkins nos permite definir las variables que son específicas de un agente determinado. Podemos definir las variables del agente en el archivo de configuración del agente. Del mismo modo, estos tipos de variables se alcanzan solo a ese agente.

Ver las variables de entorno en Jenkins

Para ver las variables de entorno disponibles en su controlador Jenkins, navegue a la siguiente URL:

[Jenkins_address]/env-vars.html

Ejemplo:

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

Una salida de ejemplo es la siguiente:

Acceder a las variables de entorno en Jenkins

Como se mencionó, Jenkins expone las variables de entorno utilizando el nombre del objeto env envado. Por lo tanto, podemos usar este objeto para acceder a los valores de varias variables de entorno en Jenkins.

Tome la siguiente tubería de ejemplo:

tubería
agente cualquiera
etapas
etapa ('env vars')
pasos
Echo "trabajo: $ env.Build_id ejecutándose en $ env.Jenkins_url "



El ejemplo anterior utiliza el objeto Env para obtener el número de compilación y la dirección del servidor. Por lo tanto, ejecutar la tubería anterior debería devolver la siguiente salida:

Trabajo: 1 Ejecutando en http: // localhost: 9001/

También podemos acceder a las variables de entorno Jenkins utilizando el nombre corto de variable. Por ejemplo, podemos obtener el número de compilación como $ build_number:

tubería
agente cualquiera
etapas
etapa ('env vars')
pasos
echo "trabajo: $ build_id ejecutándose en $ jenkins_url"



Salida resultante:

Trabajo: 2 Ejecutando en http: // localhost: 9001/

Declarar las variables de entorno específicas de trabajo en Jenkins

Puede definir las variables de entorno específicas de trabajo en Jenkisfile utilizando un bloque de entorno.

La sintaxis es la siguiente:

ambiente
[Nombre variable] = "[valor]"

Una salida de ejemplo es la siguiente:

tubería
agente cualquiera
ambiente
Cc = 'GCC'

El ejemplo anterior debe crear un entorno local llamado CC con el valor de GCC.

Conclusión

Aprendiste sobre las diversas variables en Jenkins y cómo crear y acceder a las variables de entorno global y local en Jenkins.