Comment définir et référencer une variable dans un fichier Jenkins
J'ai un déclarative pipeline de script pour mon multibranch projet dans lequel je voudrais lire un fichier texte et de stocker le résultat dans une variable de chaîne pour être accessible à une étape ultérieure dans le pipeline. À l'aide de l'extrait de générateur, j'ai essayé de faire quelque chose comme ceci:
filename = readFile 'output.txt'
Pour qui filename
serait ma chaîne.
J'obtiens une erreur dans le Jenkins sortie de la console:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 30: Expected a step @ line 30, column 5.
filename = readFile 'output.txt'
Dois-je utiliser un withEnv
étape pour régler la sortie de readFile
à un Jenkins variable d'environnement? Si oui, comment?
Grâce
source d'informationauteur Dalton Sweeney
Vous devez vous connecter pour publier un commentaire.
L'erreur est due à ce que vous êtes uniquement autorisé à utiliser le pipeline étapes à l'intérieur de la
steps
directive. Une solution de contournement que je sais, c'est d'utiliser lescript
étape et envelopper arbitraire pipeline script à l'intérieur d'elle et d'enregistrer le résultat dans la variable d'environnement afin qu'il puisse être utilisé plus tard.Donc dans votre cas:
Selon la documentationvous pouvez également définir des variables globales (si plus tard vous souhaitez utiliser la valeur de la variable dans d'autres parties de votre script. Dans votre cas, il serait de le placer à la racine de pipeline:
Un exemple complet de script pipepline: