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

Tom*_*eck 5 drive-mapping jenkins

尝试在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
Run Code Online (Sandbox Code Playgroud)

当我打开一个正常的命令提示符并运行相同的命令(asc-tree -v cs1.)时,它可以正常工作.

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

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

有人有什么想法?

Tom*_*eck 13

根据这个答案,我设法让它运作起来.

解决方案可以在Aspera Support的文章中找到:如何永久地将网络共享映射到驱动器到Windows服务.

解:

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

为此,请从Microsoft下载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. 根据Microsoft的文章:分配计算机启动脚本,创建一个在计算机启动时运行的脚本,该脚本中只包含第4行.

  • 答案应该完整地提供——链接往往会改变,网站离线,...... (3认同)