2014-07-14 35 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