5

尝试在 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:\”,但这只是给了我与机器名称而不是驱动器相同的错误。

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

有人有什么想法吗??

4

3 回答 3

15

按照这个答案,我设法让它工作。

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

解决方案:

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

为此,请从 Microsoft 下载 Sysinternals 套件,并将其解压缩到一个目录,例如 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 行:分配计算机启动脚本

于 2014-07-14T10:57:44.423 回答
0

在 Windows Server 2008 上遇到了同样的问题。在 Jenkins 代理服务上配置了正确的用户凭据并重新启动它,但这也没有帮助。

最后起作用的是通过 Java Web Start 启动代理而不将其安装为 Windows 服务

于 2019-04-20T09:46:50.270 回答
0

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

于 2021-06-25T14:37:34.903 回答