2014-07-14 42 views
3

我越來越想在詹金斯執行構建時,出現以下錯誤:詹金斯無法看到映射驅動器

Started by user anonymous 
Building in workspace C:\Users\mryan\git\AML 
[AML] $ cmd /c call C:\Users\MRYAN~1.ASA\AppData\Local\Temp\hudson3772834793680550098.bat 

C:\Users\mryan\git\AML>asc-tree -v cs1 . 
Array @filter_prune missing the @ in argument 1 of push() at C:\asc\asc\win2k/asc-tree. line 293. 
asc-tree.: ASC (=Z:\asc) is not a directory! 
Build step 'Execute Windows batch command' marked build as failure 
Finished: FAILURE 

當我打開一個正常的命令提示符,運行相同的命令(ASC-樹 - v cs1。),它工作正常。

我看了一下here,並試圖在我的環境變量中使用UNC表示法而不是「Z:\」,但這隻給了我與機器名稱相同的錯誤而不是驅動器。

我也嘗試改變服務使用我的帳戶登錄詳細信息,而不是「本地系統帳戶」,但似乎並沒有這樣做。

有人有什麼想法嗎?

回答

8

正在關注this回答時,我設法讓它工作。

解決方案可以在Aspera支持的文章:How to map network shares into drives to a Windows service permanently中找到。

解決方案:

爲了讓網絡共享被映射到驅動器和Windows服務中訪問 ,您需要登錄爲NT AUTHORITY \ SYSTEM帳戶 。

要做到這一點,從微軟下載的Sysinternals Suite,並解壓縮 到一個目錄,比如C:\ TEMP 以下步驟假定您已經解壓縮到Sysinternals的C:\ TEMP和所有的可執行文件都在那裏。

  1. 以管理員身份啓動命令提示符。
  2. CD \TEMP
  3. psexec -i -s cmd.exe
    這將啓動一個新的命令提示窗口,並且步驟4應在該新窗口來執行。
  4. net use Z: \\servername_OR_IP\sharedfolder /u:username /persistent:yes
    提供有權訪問 共享文件夾的用戶的憑據。

  5. 根據微軟的文章Assign Computer Startup scripts創建一個在計算機啓動時運行的腳本,該腳本只有 中的第4行。

+0

答案應該全額提供 - 鏈接往往改變,網站下線,... – xeraa

+0

我遇到了同樣的問題,但正如你所說,我運行詹金斯作爲服務但與我的用戶帳戶憑據,爲什麼網絡共享仍然不可見? – Bozzy

+0

這一切都有效,但'創建在計算機啓動時運行的腳本' – Yar