我喜歡groovy。這是非常強大的腳本,我們在任何地方都使用它。最近在Jenkins服務器上,我們試圖通過subst命令創建駐留在虛擬驅動器上的一些文件。問題是,似乎groovy不支持虛擬驅動器,但我沒有找到任何確認。這是真的嗎,有沒有解決方法?如何在groovy中列出虛擬(子)磁盤中的文件?
這裏是我們使用的示例代碼:
import groovy.io.FileType
def list = []
//the original file path for T: is C:\Users\MyUser\workspace\MyProject\src\test\data
def dir = new File("T:" + "\\")
dir.eachFile (FileType.FILES) { file ->
list << file
}
list.each{
println "${it}"
}
我們得到的結果是:
[EnvInject] - 判斷Groovy腳本內容[EnvInject] - [錯誤] - 問題在構建 包裝器中定義的注入環境變量時發生:org.jenkinsci.lib.envinject.EnvInjectException:無法對 評估腳本。 java.io.FileNotFoundException:T :.請參閱系統 登錄更多信息
任何幫助表示讚賞。
我過去是這樣的掙扎着,顯然是「虛擬驅動器映射」並不一定對所有用戶可見。你是如何設置虛擬驅動器的,以及Jenkins運行的用戶和權限? (如果您指定,可能會提示正確的專家提出見解) –
嗨Hugues Moreau 9.感謝您的反饋。這是有趣的提示。我正在用我自己的用戶運行Jenkins。有趣的是,我現在在SoapUI下嘗試了相同的腳本,並且它工作正常。這意味着Groovy可以處理虛擬驅動器,但在Jenkins下無法處理它們。我會盡力調查更多這一部分。 – Gico
詹金斯是否作爲服務運行?這也很重要 –