2017-09-20 2 views
1

Ich versuche, einige Umgebungsvariablen in Jenkins Pipeline-Skript zu lesen, die von Git-Plugin festgelegt werden sollte, aber es scheint, sie sind nicht festgelegt, weil, wenn ich im Skript zu verwenden versuchte seinen Wert ist leere Zeichenfolge und auch wenn ich sh 'printenv' verwende kann ich sehen, dass sie nicht gesetzt sind.Jenkins Git Umgebungsvariablen nicht in Pipeline gesetzt

Wahrscheinlich vermisse ich etwas, aber ich kann was nicht finden.

Irgendeine Idee?

Antwort

3

Pro Seite:

http://JenkinsURL/pipeline-syntax/globals:

SCM-spezifischen Variablen wie GIT_COMMIT sind nicht automatisch als Umgebungsvariablen definiert; Sie können stattdessen den Rückgabewert des Checkout-Schritts verwenden.

Dies soll in Jenkins 2.60 gelöst werden, glaube ich:

https://plugins.jenkins.io/pipeline-model-definition

das Element Siehe JENKINS-45198

Sie, indem Sie die entsprechenden git Befehle in eine umgehen können Shell und Zuordnung zu einer Variablen:

GIT_REVISION = sh(script: 'git rev-parse HEAD', returnStdout: true) 

In einem Deklarative pi peline, müssen Sie dies in einen Skriptblock {} einfügen und wahrscheinlich die Variable außerhalb Ihrer Pipeline deklarieren, um den entsprechenden Bereich zu erhalten.

+0

Hat Ihnen das geholfen? –

Verwandte Themen