2016-05-03 21 views
8

Ho un semplice Jenkinsfile in cui voglio caricare alcuni dati dallo spazio di lavoro. Sto usando il plug-in della pipeline per sfruttare il Jenkinsfile all'interno del repository. La costruzione viene coltivata in un agente Jenkins corrispondente. Quando provo ad usare "readFile" ottengo il seguente messaggio:La pipeline di jenkins non è in grado di leggere i file

java.io.FileNotFoundException: /path/to/jenkins/workspace/XXXXX/project/data.json (Nessun file o directory)

Ho anche ricevuto lo stesso messaggio quando provo a caricare un file Groovy dallo spazio di lavoro.

mio Jenkinsfile assomiglia:

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

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

Tutte le idee perché non riesco a leggere questi file?

Grazie, Tim

+0

È il tuo _Configure System_ → _Workspace Root Directory_: '$ {JENKINS_HOME}/workspace/$ {ITEM_FULLNAME}/project' o senza'/project'? –

+0

Non lo è. Al momento: $ {JENKINS_HOME}/spazio di lavoro/$ {ITEM_FULLNAME} – timcrider

+2

Sembra che Jenkins stia creando 3 spazi di lavoro su questa build. 998-loops, 998-loop @ script e 998-loops @ tmp. Lo script 998-loops @ è l'unica cosa con tutti i dati al suo interno. Tuttavia, l'altro ramo crea sia script XXX che topic XXX. – timcrider

risposta

-1

Quando Jenkins elabora un Jenkinsfile non tira automaticamente l'intero repository di origine. È necessario eseguire "checkout scm" per visualizzare i contenuti del repository. Se non si riesce a farlo, nessun altro file sarà disponibile per lo script della pipeline.