2016-05-03 10 views
8

Ich habe eine einfache Jenkinsfile, wo ich einige Daten aus dem Arbeitsbereich laden möchte. Ich verwende das Pipeline-Plugin, um die Jenkins-Datei im Repository zu nutzen. Der Build wird an einen passenden Jenkins-Agenten gezüchtet. Wenn ich versuche, „readfile“ zu verwenden, erhalte ich die folgende Meldung:jenkins pipeline nicht in der Lage, Dateien zu lesen

java.io.FileNotFoundException: /path/to/jenkins/workspace/XXXXX/project/data.json (Keine solche Datei oder das Verzeichnis)

Ich bekomme auch die gleiche Nachricht beim Versuch, eine Groovy-Datei aus dem Arbeitsbereich zu laden.

Mein Jenkinsfile wie folgt aussieht:

node('master') { 
    stage "Start" 
    echo "Starting" 

    stage "Load File" 
    def myJson = readFile "data.json" 
} 

Irgendwelche Ideen, warum ich diese Dateien nicht lesen kann?

Danke, Tim

+0

Ist Ihr _Configure System_ → _Workspace Root Directory_: '$ {JENKINS_HOME}/workspace/$ {ITEM_FULLNAME}/project' oder ohne das'/project'? –

+0

Es ist nicht. Zur Zeit ist es: $ {JENKINS_HOME}/workspace/$ {ITEM_FULLNAME} – timcrider

+2

Es sieht so aus, als ob Jenkins 3 Arbeitsbereiche in diesem Build erstellt. 998-loops, 998-loops @ script und 998-loops @ tmp. 998-loops @ script ist die einzige Sache mit irgendwelchen Daten darin. Der andere Zweig erstellt jedoch sowohl XXX-Thema als auch XXX-Thema @ Skript. – timcrider

Antwort

-1

Wenn Jenkins einen Jenkinsfile verarbeitet sie nicht automatisch die gesamte Quell-Repository nach unten nicht ziehen. Sie müssen "checkout scm" ausführen, um den Inhalt des Repositorys herunterzuziehen. Wenn Sie dies nicht tun, sind keine anderen Dateien für das Pipeline-Skript verfügbar.

Verwandte Themen