詹金斯无法看到映射驱动器

时间:2014-07-14 09:59:51

标签: jenkins drive-mapping

尝试在Jenkins中执行构建时出现以下错误:

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-tree -v cs1。)时,它可以正常工作。

我看了here并尝试在我的环境变量中使用UNC表示法而不是" Z:\"但这只是给了我与机器名称而不是驱动器相同的错误。

我还尝试更改服务以使用我的帐户登录详细信息而不是"本地系统帐户"但似乎并没有这样做。

有人有任何想法吗?

3 个答案:

答案 0 :(得分:12)

this回答之后,我设法让它发挥作用。

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

解决方案:

  

为了将网络共享映射到驱动器并可访问   在Windows服务中,您需要以NT AUTHORITY \ SYSTEM身份登录   帐户。

     

要执行此操作,请从Microsoft下载Sysinternals Suite,然后解压缩   它到一个目录,比如C:\ TEMP        以下步骤假定您已将SysInternals解压缩到C:\ TEMP,并且所有可执行文件都在那里。

     
      
  1. 以管理员身份启动命令提示符。
  2.   
  3. CD \TEMP
  4.   
  5. psexec -i -s cmd.exe
      这将启动一个新的命令提示符窗口,并且应该在该新窗口中执行第4步。
  6.   
  7. net use Z: \\servername_OR_IP\sharedfolder /u:username /persistent:yes
      提供有权访问的用户的凭据   共享文件夹。

  8.   
  9. 创建一个在只有第4行的计算机启动时运行的脚本   它符合微软的文章:Assign Computer Startup scripts

  10.   

答案 1 :(得分:0)

在Windows Server 2008上遇到了相同的问题。在Jenkins代理服务上配置了正确的用户凭据,然后重新启动了它,但这也无济于事。

最后有效的方法是通过Java Web Start 启动代理,而无需将其安装为Windows服务

答案 2 :(得分:0)

不确定第 1 步到第 3 步对 TomSellek 的回答有何意义,您只需要第 4 步。在创建任务时,在安全选项中选择用户“系统”。