Cómo pasar variables de Jenkinsfile al comando de shell
Quiero usar una variable que estoy usando dentro de miJenkinsfile
script, y luego pasa su valor a una ejecución de script de shell (ya sea como variable de entorno o parámetro de línea de comando).
Pero lo siguienteJenkinsfile
:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh 'echo "from shell i=$i"'
}
Da la salida:
a
from shell i=
b
from shell i=
c
from shell i=
La salida deseada es algo como:
a
from shell i=a
b
from shell i=b
c
from shell i=c
Alguna idea de cómo pasar el valor dei
a la cáscara scipt?
Editar: Basado enDe Matt respuesta, ahora uso esta solución:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh "i=${i}; " + 'echo "from shell i=$i"'
}
La ventaja es que no necesito escapar del"
en el script de shell