Saltar al contenido

Pasar variable de shell script a jenkins

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *