2013-05-06 105 views
2

我有一個螞蟻文件,其中有移動和複製任務。源和目標位置位於映射網絡驅動器R:\上。當我在命令提示符下運行它們時,構建成功,但是當我將它配置爲Jenkins中的作業時,任務因下面的控制檯輸出而失敗。螞蟻搬家,詹金斯映射驅動器上覆制任務失敗

BUILD FAILED 
C:\Users\admin\.jenkins\jobs\CopyTask\workspace\build.xml:24: R:\dest does not exist. 

Total time: 0 seconds 
Build step 'Invoke Ant' marked build as failure 
Finished: FAILURE 

獨立構建和Jenkins構建都在相同的用戶憑據下。

我已經在問題中看過copy in ANT throws java.io.FileNotFoundExceptionAnt Copy Task: Failed to copy due to java.io.FileNotFoundException但它沒有幫我解決問題。

編輯

詹金斯服務已在本地系統帳戶運行,在詹金斯的應用程序,我是用「詹金斯自己的用戶數據庫」爲安全領域。我創建了一個名爲「admin」的用戶,並授予了所有權限。查看此link後,我安裝了Active Directory Plugin並使用管理員帳戶憑據來啓動Jenkins服務。但我仍然收到以下錯誤消息

BUILD FAILED 
C:\Users\admin\.jenkins\workspace\CopyTask\build.xml:11: 
Failed to copy C:\Users\admin\FldrToCopy\data.7z to 
R:\data.7z due to failed to create the parent directory for R:\data.7z 

Total time: 0 seconds 
Build step 'Invoke Ant' marked build as failure 
Finished: FAILURE 
+0

既沒有'ant -verbose'也沒有'ant-debug'給你更多的信息? – 2013-05-06 23:52:44

+0

http://pastebin.com/pxPTeHS1這是我使用詳細的控制檯。 – DDK 2013-05-14 11:22:21

回答

4

顯然,您使用的系統帳戶沒有此映射驅動器。在複製之前,嘗試通過Windows net use命令映射驅動器。在Jenkins中,在執行Ant腳本之前,可以在構建步驟中將其作爲shell命令運行。

我沒有Windows機器在我的面前,但它應該是這個樣子:

net use R: /delete 
net use R: /persistent:yes \\windows\share\path 

你想做的第一net use R: /delete,以消除任何現有的映射。如果這不起作用,請嘗試this。這將幫助您創建映射的驅動器到始終存在的系統帳戶。

+1

因爲我已經從GUI映射了驅動器,所以我沒有想到這一點。順便說一句,它應該是'net use R:/ persistent:yes \\ windows \ share \ path'。 – DDK 2013-05-14 13:10:38

+0

如果您從GUI映射驅動器,則僅適用於該特定用戶。我會修復我的語法。很難記得你是否一直沒有使用它,並且沒有在我之前安裝Windows機器意味着我無法測試它。 – 2013-05-14 13:28:23

+0

請注意,您需要使用具有管理員權限的cmd中的上部腳本,否則它將不會有幫助! – DenisK 2017-10-26 11:01:31

1

Jenkins運行的用戶帳戶是什麼?如果它以SYSTEM帳戶運行,那麼它可能無法看到映射的驅動器。有些想法請看Map a network drive to be used by a service

或者你可以使用UNC路徑而不是映射驅動器?

+0

使用UNC路徑完成這項工作,但我只需要通過Mapped驅動器來完成。 Plz查看編輯瞭解更多信息。謝謝 – DDK 2013-05-14 11:29:12