詹金斯看不到映射的驱动器



当尝试在Jenkins中执行构建时,我得到以下错误:

Started by user anonymous
Building in workspace C:UsersmryangitAML
[AML] $ cmd /c call C:UsersMRYAN~1.ASAAppDataLocalTemphudson3772834793680550098.bat
C:UsersmryangitAML>asc-tree -v cs1 . 
Array @filter_prune missing the @ in argument 1 of push() at C:ascascwin2k/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:",但这只是给了我相同的错误,机器名称而不是驱动器。

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

有人有什么想法吗?

根据这个答案,我设法使它工作。

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

解决方案:

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

要做到这一点,从微软下载Sysinternals套件,并解压缩它到一个目录,比如C:TEMP以下步骤假设您已经将SysInternals解压缩到C:TEMP,并且所有可执行文件都在其中。

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

  5. 创建一个在计算机启动时运行的脚本,该脚本只有第4行根据微软的文章:分配计算机启动脚本。

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

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

不确定步骤1到3对于TomSellek的答案有什么意义,您只需要步骤4。在安全选项中,在创建任务时选择用户'system'。

相关内容

  • 没有找到相关文章

最新更新