Supposons que j’ai un script Groovy dans Jenkins contenant un script Shell multiligne. Comment définir et utiliser une variable dans ce script? La manière normale produit une erreur:
sh """
foo='bar'
echo $foo
"""
Pris: groovy.lang.MissingPropertyException: Aucune propriété de ce type: foo pour la classe: groovy.lang.Binding
Vous devez changer pour tripler les guillemets simples '''
ou échapper au dollar \$
Ensuite, vous éviterez les modèles groovy qui vous donnent ce problème.
Je ne fais que mettre un '\' en fin de ligne
sh script: """\
foo='bar' \
echo $foo \
""", returnStdout: true
Cette déclaration fonctionne sur mon script.