Contamos con la solución a esta incógnita, o por lo menos eso esperamos. Si tienes inquietudes dínoslo, que para nosotros será un placer responderte
Solución:
Usted menciona que está exportando un DATE
variable de entorno en un script de shell, que presumiblemente se inicia a través de un paso “Ejecutar shell”.
El problema es que, una vez que se completa el paso de shell, ese entorno desaparece: las variables no se trasladarán a los pasos de compilación posteriores.
Entonces, cuando más tarde intente usar el $DATE
valor, ya sea en otro paso de compilación o como un parámetro para otro trabajo, esa variable de entorno en particular ya no existirá.
Lo que puede hacer en su lugar es usar el complemento EnvInject para exportar variables de entorno durante una compilación. Las variables configuradas con este complemento estarán disponibles para todos los pasos de compilación posteriores.
Por ejemplo, podrías escribir el DATE
a un campo de propiedades en un paso de compilación:
echo DATE=$(date +%Y-%m-%d) > env.properties
Luego puede agregar un paso de compilación “Inyectar variables de entorno para su trabajo” e ingresar env.properties
en el campo “Ruta del archivo de propiedades del entorno”.
De esa manera, el DATE
La variable (y cualquier otra cosa en ese archivo de propiedades) se exportará y será visible para el resto de los pasos de compilación.
Puede usar una declaración de asignación y returnStdout de sh para obtener el valor en Jenkins sin tener que escribir en un archivo de propiedades.
foo = sh(
returnStdout: true,
script: 'date'
)
Luego, más adelante en el archivo Jenkins, puede usar $foo como cualquier otra variable.
EDITAR: Esto es para un trabajo de canalización, no para un trabajo de estilo libre.
Aquí tienes las comentarios y valoraciones
Te invitamos a secundar nuestra función dejando un comentario o puntuándolo te damos las gracias.