Parámetros de Jenkinsfile

Parámetros de Jenkinsfile

A Jenkinsfile es un archivo de texto que contiene la definición de una tubería de Jenkins y se verifica en el control de la fuente. Se utiliza para automatizar partes de la tubería CI/CD, definiendo tareas y parámetros que Jenkins puede usar para ejecutar esas tareas.

Una forma de parametrizar un jenkinsfile es usar parámetros. Los parámetros le permiten pasar datos a un jenkinsfile en tiempo de ejecución. Esto puede ser útil para configuraciones específicas del entorno o transmitir valores específicos para la compilación actual.

En este tutorial, aprenderá cómo usar los parámetros de Jenkinsfile en una tubería de Jenkins.

Requisitos:

  1. Conocimientos básicos de Jenkins y el complemento de tubería de Jenkins
  2. Una instancia de Jenkins con el complemento de tuberías de Jenkins instalado
  3. Un jenkinsfile en su repositorio de control de origen

Jenkins declara parámetros

Antes de usar cualquier parámetro en Jenkinsfile, primero debemos declararlos en Jenkinsfile. Podemos lograr esto utilizando el bloque de parámetros.

Tome, por ejemplo, la sección de la tubería que se muestra a continuación:

tubería
parámetros
String (nombre: 'entorno', defaultValue: 'dev', descripción: 'el entorno para implementar')
boolean (nombre: 'implement', defaultValue: falso, descripción: 'si implementar o no')


En el ejemplo anterior, el Jenkinsfile contiene dos parámetros como:

  1. AMBIENTE - un parámetro de cadena con un valor predeterminado de 'dev.'
  2. DESPLEGAR - un parámetro booleano con un valor predeterminado de falso.

Podemos especificar cualquier número de parámetros dentro del bloque de parámetros. Jenkins admite varios tipos de parámetros que incluyen:

  1. tipos de parámetros de cadena - Se usa para almacenar una secuencia de caracteres
  2. Parámetros de texto - Similar al tipo de parámetro de cadena pero puede abarcar varias líneas. Un ejemplo es un parámetro de descripción, como se muestra en el ejemplo anterior.
  3. Booleanparam - Booleanparam o boolean se usa para almacenar valores de verdad o falsos.
  4. Elección - Los parámetros de elección, por otro lado, le permiten almacenar valores de opción múltiple.
  5. Contraseña - Los parámetros de contraseña se utilizan para almacenar contraseñas y credenciales de autenticación.

Parámetros de acceso de Jenkins

Una vez que hemos declarado sus parámetros en Jenkinsfile, podemos acceder a sus valores utilizando el objeto $ Params.

Por ejemplo, para acceder al valor del parámetro de entorno en una etapa, podemos usar $ params.AMBIENTE.

Demostración de ejemplo

Tome la tubería de ejemplo a continuación que demuestra cómo usar varios tipos de parámetros en Jenkins:

tubería
agente cualquiera
parámetros
String (nombre: 'Nombre', DefaultValue: 'Jenkins', Descripción: 'Nombre de usuario')
Texto (nombre: 'Desc', DefaultValue: ", Descripción: 'Descripción sobre el usuario. ')
booleanParam (nombre: 'toggle', defaultValue: true, descripción: 'enable/desactivar')
elección (nombre: 'elección', opciones: [1,2,3,4,5], descripción: 'elige un valor')
contraseña (nombre: 'passwd', defaultValue: 'secreto', descripción: 'proporcionar contraseña')

etapas
etapa ('ejemplo')
pasos
echo "hola $ params.nombre"
Echo "desc: $ params.Desc "
echo "alternar: $ params.palanca"
ECELACIÓN DE ECHO ": $ params.elección"
Contraseña de echo ": $ params.passwd "



Producción:

Jenkins estableció valor

En un declarante Jenkinsfile, podemos establecer un valor de un parámetro dado como se muestra en el siguiente ejemplo:

tubería
parámetros
cadena (nombre: 'entorno', defaultValue: 'dev', descripción: 'el entorno para implementar', valor: 'prod')

En este ejemplo, el parámetro de entorno siempre se establecerá en 'Prod' al ejecutar la compilación.

Cuando trabajamos en un Jenkinsfile con guión, podemos establecer el valor para un parámetro dado utilizando el comando de compilación. Un ejemplo de DemonStaration es como se muestra:

nodo

etapa ('implement')
Trabajo de compilación: 'implement', parámetros: [[$ class: 'stringParametervalue', nombre: 'entorno', valor: 'prod']]

En este caso, el valor de la tubería de la variable de entorno siempre se establece en produzca.

Configuración del valor predeterminado del parámetro

Es una buena idea establecer valores predeterminados para los parámetros definidos si el valor no se proporciona durante el proceso de compilación. Podemos lograr esto utilizando el parámetro de valor predeterminado como se muestra en el siguiente ejemplo:

parámetros
String (nombre: 'entorno', defaultValue: 'dev', descripción: 'el entorno para implementar')

En este caso, el parámetro de entorno predeterminará 'desarrollar' si no se proporciona un valor durante la compilación.

Conclusión

En este artículo, descubrió cómo usar los parámetros de Jenkinsfile en una tubería de Jenkins. Aprendió a declarar parámetros en Jenkinsfile, acceder a sus valores en etapas y establecer el valor de parámetro durante el proceso de compilación. Finalmente, descubrimos cómo usar el parámetro de valor predeterminado para asignar un valor predeterminado a un parámetro dado si falta el valor.

Usando los parámetros de Jenkinsfile, podemos hacer que nuestra tubería Jenkins sea más flexible y más fácil de personalizar para diferentes entornos y casos de uso.