Como passar variáveis do Jenkinsfile para o comando shell
Eu quero usar uma variável que estou usando dentro do meuJenkinsfile
script e, em seguida, passe seu valor para a execução de um script de shell (como variável de ambiente ou parâmetro de linha de comando).
Mas o seguinteJenkinsfile
:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh 'echo "from shell i=$i"'
}
Dá a saída:
a
from shell i=
b
from shell i=
c
from shell i=
A saída desejada é algo como:
a
from shell i=a
b
from shell i=b
c
from shell i=c
Alguma idéia de como passar o valor dei
para o scipt shell?
Editar: Baseado emMatt's resposta, agora eu uso esta solução:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh "i=${i}; " + 'echo "from shell i=$i"'
}
A vantagem é que eu não preciso escapar do"
no script de shell.