2017-06-14 51 views
1

,所以我的工作在詹金斯種子的工作,現在和我得到這個錯誤詹金斯種子工作(沒有這樣的文件或目錄)

Processing DSL script testDSLAuto.groovy 
FATAL: /pathto/weblogic-apps-auto.csv (No such file or directory) 
java.io.FileNotFoundException: /pathto/weblogic-apps-auto.csv (No such file or directory) 
    at java.io.FileInputStream.open0(Native Method) 
    at java.io.FileInputStream.open(FileInputStream.java:195) 
    at java.io.FileInputStream.<init>(FileInputStream.java:138) 

我真的不知道爲什麼這樣的錯誤會造成。爲了測試,我在文件上做了一個chmod 777。它也發現我的.groovy文件在奇怪的同一個工作區中。我爲groovy文件使用相對路徑,併爲.csv文件嘗試了相同的操作。

我也執行了一個shell腳本,當我運行我的工作,所以你可以看到它在工作區。

+ pwd 
/home/jenkins/workspace/Denver_Jenkins/SeedJob-CreateAutoBuilds 
+ ls -l 
total 32 
-rwx------ 1 jenkins jenkins 6504 Jun 14 22:11 testDSLAuto.groovy 
-rwxrwxrwx 1 jenkins jenkins 20496 Jun 14 20:00 weblogic-apps-auto.csv 

回答

3

問題是groovy腳本在主節點上搜索我的.cvs文件,而不是我的遠程工作空間,其中存儲的文件是由daggett指出的。我的解決方案是:

def file = readFileFromWorkspace('weblogic-apps-auto.csv') 
file.splitEachLine(",") 
{ 
    fields -> 
     println "Evaluting .csv values: " + fields[0] + ", " + fields[1] + ", " + fields[2] +", " + fields[3]; 
} 
2

您的testDSLAuto.groovy稱爲具有自己當前目錄的java進程。

通常這是一個workspace目錄。但更好地檢查與此代碼:

def currentDir = new File(".").getAbsolutePath() 
println currentDir 

,那麼你應該定義基於current dir路徑csv文件相對路徑。

+0

這是正確的。我的groovy腳本試圖從主節點工作目錄讀取而不是從屬工作區。 –

相關問題