Zum abrufen des aktuellen Arbeitsbereichs über Jenkins Pipeline Groovy-Skript?
Ich versuche, Holen Sie sich die aktuellen Arbeitsbereich meiner Jenkins-build mit groovigem pipeline-Skript:
node('master') {
//PULL IN ENVIRONMENT VARIABLES
//Jenkins makes these variables available for each job it runs
def buildNumber = env.BUILD_NUMBER
def workspace = env.WORKSPACE
def buildUrl = env.BUILD_URL
//PRINT ENVIRONMENT TO JOB
echo "workspace directory is ${workspace}"
echo "build URL is ${env.BUILD_URL}"
}
Gibt es:
[Pipeline] Allocate node : Start
Running on master in /Users/Shared/Jenkins/Home/jobs/test/workspace
[Pipeline] node {
[Pipeline] echo
workspace directory is null
[Pipeline] echo
build URL is http://localhost:8080/job/test/5/
[Pipeline] } //node
[Pipeline] Allocate node : End
[Pipeline] End of Pipeline
Finished: SUCCESS
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für mich nur
${workspace}
gearbeitet, ohne auch die Initialisierung der variable "Arbeitsbereich".'${WORKSPACE}
funktioniert,${workspace}
NICHTGibt es keine variable enthalten, für die noch, so verwenden Sie die shell-out-Lesen-Datei-Methode:
Oder (wenn Sie auf dem master-Knoten):
Ich denke, Sie können auch führen Sie die pwd () - Funktion auf den besonderen Knoten:
Dies ist, wo Sie finden die Antwort in der job dsl-plugin-code.
Grundsätzlich kann man so etwas tun:
Eine kurze Anmerkung für alle, die mit
bat
im job und muss die access-Arbeitsbereich:Funktioniert es nicht.
$WORKSPACE
https://issues.jenkins-ci.org/browse/JENKINS-33511 wie hier erwähnt, funktioniert nur mit der PowerShell. Also dein code solltepowershell
für die Ausführung