【问题标题】:cruise control .net : xcopy not working for copying files to remote server巡航控制 .net:xcopy 无法将文件复制到远程服务器
【发布时间】:2011-06-30 21:01:31
【问题描述】:

我正在尝试使用 xcopy 将文件夹复制到远程计算机。该命令通过巡航控制任务执行。如果我从命令提示符运行xcopy source destOnRemoteMachine,我可以成功运行它。但是如果我从巡航控制.net 执行它,它总是抱怨“无效的驱动器规范”错误。

我试过了:

> <exec
> executable="c:\Windows\System32\xcopy.exe">
>                 <baseDirectory>$(BASE)\Project</baseDirectory>
>                 <buildArgs>.\*.* RemoteMachine\Project /Y</buildArgs>
>                 <buildTimeoutSeconds>10</buildTimeoutSeconds>
>                 <successExitCodes>-1,0,1</successExitCodes>
>               </exec>

和:

<exec executable="c:\Windows\System32\cmd.exe">
        <baseDirectory>$(BASE)\Project</baseDirectory>
        <buildArgs>/C xcopy $(BASE)\Project\*.* RemoteMachine /y</buildArgs>
        <buildTimeoutSeconds>30</buildTimeoutSeconds>
        <successExitCodes>-1,0,1</successExitCodes>
      </exec>

有什么建议吗?

【问题讨论】:

    标签: cruisecontrol.net xcopy


    【解决方案1】:

    感谢您的回答。批量放置 xcopy 也没有帮助,问题出在其他问题上。这是问题:

    运行 Cruise Control .net 服务的帐户有问题。它作为本地服务运行。因此无法看到网络路径。我将 CCNet 服务更改为在有权在远程机器上读/写的域帐户上运行。这解决了我的问题。

    谢谢。

    【讨论】:

      【解决方案2】:

      使用xcopy source destOnRemoteMachine 命令创建一个批处理文件,并在巡航控制.net 中使用&lt;exec&gt; 命令执行该批处理文件

      【讨论】:

        【解决方案3】:

        在我使用NET USE 将驱动器号持久映射到另一个域上的网络共享之后,我以用户帐户的身份运行 CC。尽管它在桌面会话中工作,但 CC 仍然无法在构建过程中访问共享。执行 NET USE 作为构建的一部分(没有驱动器映射)允许复制成功。

        <exec program="net" verbose="true">
          <arg value="use" />
          <arg value="\\server\share" />
          <arg value="password" />
          <arg value="/user:domain\username" />
        </exec>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-09
          • 1970-01-01
          • 2022-01-28
          • 1970-01-01
          • 2016-09-13
          • 2019-01-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多