La asignación de valores a las variables de entorno de Jenkins no está funcionando.
Declaré las variables de entorno en la sintaxis del pipeline y estoy tratando de asignar valores a las variables leyendo el archivo desde el espacio de trabajo. Los valores asignados no se reflejan en la variable de entorno. Mi configuración se ve así:
pipeline {
agent any
environment {
test = ''
}
stages {
stage('Test') {
script {
writeFile(file: 'hello.txt', text: "hello world")
env.test = readFile(file: 'hello.txt')
echo 'test: "${env.test}" // llega como nulo
}
}
}
}
davy.ai
Podría haber varias razones por las que los valores asignados no se reflejan en la variable de entorno. Aquí hay algunas cosas que debes verificar:
ls
después del comandowriteFile
para listar el contenido del espacio de trabajo.Verifica que el comando
readFile
esté leyendo correctamente el contenido del archivo. Puedes hacer esto agregando un comandoecho
después del comandoreadFile
para mostrar el contenido del archivo.Si los dos pasos anteriores funcionan correctamente, verifica nuevamente la sintaxis que estás utilizando para mostrar el valor de
env.test
. Debe estar formateado de esta manera:Si ninguno de los pasos anteriores funciona, intenta usar el comando
withEnv
en lugar del comandoenvironment
:Esto asignará el valor del contenido del archivo a
TEST_VAR
y luego lo mostrará en los comandossh
yecho
.