我想创建一个构建后脚本,将文件从构建目录移动到远程(UNC)文件共享。
这一行:
xcopy "C:\TeamCityBuild\project\WebSite\*" "\\192.168.1.1\WebSite\" /C /R /Y /E
当它在 DOS 窗口中运行时工作正常,但是当 TeamCitys buildrunner sln2008 尝试运行它时它会失败并显示消息“无效的驱动器规范”
我已在远程服务器上以“所有人”的完全权限共享该文件夹。
有任何想法吗?
我想创建一个构建后脚本,将文件从构建目录移动到远程(UNC)文件共享。
这一行:
xcopy "C:\TeamCityBuild\project\WebSite\*" "\\192.168.1.1\WebSite\" /C /R /Y /E
当它在 DOS 窗口中运行时工作正常,但是当 TeamCitys buildrunner sln2008 尝试运行它时它会失败并显示消息“无效的驱动器规范”
我已在远程服务器上以“所有人”的完全权限共享该文件夹。
有任何想法吗?
只是一个猜测。不太确定它是否能解决您的问题。我们在使用 CruiseControl 并将我们的应用程序部署到远程 JBoss 服务器时遇到了类似的问题。我们添加了
网络使用\\192.168.1.1\网站...
在每个副本之前。以便它在尝试访问远程共享之前“挂载”远程共享。注意:您可能需要指定命令的用户名和密码(有关详细信息,请参阅命令行)。
'net use'
即使您以手动登录的同一用户身份运行自动化作业,这似乎也需要。这两种会话似乎不共享远程共享信息。
我从未使用过 TeamCity Buildrunner sln2008,但如果它作为服务运行,那么它可能在“本地系统”帐户下运行,该帐户没有网络访问权限。更改服务属性(在“登录”选项卡下),以便服务以具有该网络共享权限的用户身份登录。
我不相信它可以工作,因为代理作为系统服务运行,因此它的网络访问权限有限(我相信)。
我认为您应该考虑使用 TeamCity 的Build Artifact 的. 这就是我们在工作中使用的东西,尽管我们也是 TeamCity 的新手。我不知道的是 Build Artifact 系统是否会完全按照您的要求进行。