Wie verwenden von Umgebungsvariablen in einem groovy-Funktion mit einem Jenkinsfile
Ich versuche, die Verwendung von Umgebungsvariablen definiert, die außerhalb jeder Knoten in einem Jenkinsfile. Ich kann Ihnen im Bereich auf jedem pipeline-Schritt in jedem Knoten, aber nicht innerhalb einer Funktion. Die einzige Lösung, die ich denken kann, denn jetzt ist Sie zu übergeben als Parameter. Aber ich möchte Verweis auf die env-Variablen, die direkt innerhalb der Funktion, damit ich nicht haben, um passieren so viele Parameter. Hier ist mein code. Wie kann ich die Funktion zur Ausgabe des korrekten Wert von BRANCH_TEST
?
def BRANCH_TEST = "master"
node {
deploy()
}
def deploy(){
echo BRANCH_TEST
}
Jenkins Ausgabe der Konsole:
[Pipeline]
[Pipeline] echo
null
[Pipeline] }
[Pipeline] //node
[Pipeline] End of Pipeline
Finished: SUCCESS
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lösungen sind
Verwendung von @Field-Anmerkung
Entfernen def von Erklärung. Sehen Ted ' s Antwort für eine Erklärung über die Verwendung def.
Lösung 1 (@Feld)
Lösung 2 zu entfernen (def)
Erklärung ist hier,
https://groups.google.com/d/msg/jenkinsci-users/P7VMQQuMdsY/bHfBDSn9GgAJ
Beantwortete auch in wie-kann-ich-schaffen-und-Zugang-die-Globale-Variablen-in-groovy
import
Aussage in der Antwort.