Utilizando Funciones en la Descripción de Parámetros del Archivo JenkinsFile
Estoy intentando agregar una función en JenkinsFile Declarative pipelines en la descripción de los parámetros, pero tengo dificultades para hacerlo funcionar.
La idea es tener un trabajo de Jenkins específico para el entorno, y me gustaría ver que el parámetro de opción muestre el nombre del entorno en la descripción de la variable.
Mi pipeline se ve así:
def check_env = appenv(ENVS, env.JOB_NAME)
pipeline {
agent { label 'master' }
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '20'))
timestamps()
}
parameters{
string(name: 'myVariable', defaultValue: "/", description: 'Ingrese la ruta a la aplicación, por ejemplo, / o /dummy ruta para {check_env}')
}
stages{
stage('Running App') {
agent {
docker {
image 'myApp:latest'
}
}
steps{
script{
sh label: 'App', script: "echo 'La aplicación se está ejecutando en ${check_env}'"
}
}
}
}
}
}
He intentado múltiples combinaciones para check_env
, por ejemplo, check_env
, check_env()
, ${check_env}
función, pero ninguna de ellas funcionó.
davy.ai
Para establecer dinámicamente la descripción de un parámetro en un Pipeline Declarativo de Jenkins, se puede utilizar la interpolación de cadenas. Aquí hay una modificación de ejemplo al código original:
En esta modificación, usamos comillas dobles alrededor de la cadena
description
para habilitar la interpolación de cadenas. Luego, usamos${check_env}
en lugar de{check_env}
para hacer referencia a la variablecheck_env
dentro de la cadena.