尝试在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)时,它可以正常工作。
我在这里查看了一下,并尝试在我的环境变量中使用UNC表示法,而不是“ Z:\”,但这给了我与计算机名称而不是驱动器相同的错误。
我还尝试过更改服务以使用我的帐户“登录”详细信息而不是“本地系统帐户”,但这似乎没有实现。
有人有什么想法吗?
按照这个答案,我设法使其正常工作。
解决方案可以在Aspera支持的文章中找到:如何将网络共享永久映射到驱动器中的Windows服务。
解:
为了将网络共享映射到驱动器中并可以在Windows服务中访问,您需要以NT AUTHORITY \ SYSTEM帐户登录。 为此,请从Microsoft下载Sysinternals Suite,并将其解压缩到目录C:\ TEMP。以下步骤假定您已将SysInternals解压缩到C:\ TEMP,并且所有可执行文件都在其中。 以管理员身份启动命令提示符。 CD \TEMP psexec -i -s cmd.exe 这将启动一个新的命令提示符窗口,并应在该新窗口中执行步骤4。 net use Z: \\servername_OR_IP\sharedfolder /u:username /persistent:yes 提供有权访问共享文件夹的用户的凭据。 根据Microsoft的文章:分配计算机启动脚本,创建一个在计算机启动时运行的脚本,其中只有第4行。
为了将网络共享映射到驱动器中并可以在Windows服务中访问,您需要以NT AUTHORITY \ SYSTEM帐户登录。
为此,请从Microsoft下载Sysinternals Suite,并将其解压缩到目录C:\ TEMP。以下步骤假定您已将SysInternals解压缩到C:\ TEMP,并且所有可执行文件都在其中。
CD \TEMP
psexec -i -s cmd.exe
net use Z: \\servername_OR_IP\sharedfolder /u:username /persistent:yes 提供有权访问共享文件夹的用户的凭据。
net use Z: \\servername_OR_IP\sharedfolder /u:username /persistent:yes
根据Microsoft的文章:分配计算机启动脚本,创建一个在计算机启动时运行的脚本,其中只有第4行。