我正在开发一个多个开发人员每天都会办理登机手续的应用程序。我想在签入和成功将TFS构建到共享位置后复制最新文件。目前我正在使用类似
的后期构建脚本Attrib -r“$(ProjectDir)数据*。”/ S& xcopy / S / Y / I“$(ProjectDir)数据*。”“ShareLocation”
但最大的问题是,即使有人在本地进行了一些更改,然后进行本地构建,所有文件也会被复制到共享位置。但我只想复制签到的文件和成功完成TFS后的文件。
有人可以帮助解决这个问题的最佳解决方案。我不是一个构建工程师,对MSBuild知之甚少,所以如果你的答案是MSBuild那么请分享一些好的样本,而不是给MSDN链接。事先提前。
Pritam
答案 0 :(得分:0)
如果您有专门用于TFS构建的服务器,那么您可以将单独的.bat文件作为构建后事件调用。
在post build事件中,您可以指定servername,即检查是否在该远程服务器上进行构建。如果构建在远程服务器上,则可以在此处使用复制命令。
示例:IF / i“%COMPUTERNAME%”==“servername”(命令)
答案 1 :(得分:0)
您可以添加仅发布版本的条件将执行命令:
if“$(ConfigurationName)”==“Release”(命令)
答案 2 :(得分:0)
感谢大家的帮助。这是我在TFSBuild.proj文件中使用的并解决我的问题
<Target Name="AfterCompile">
<Exec Command="Attrib -r "$(SolutionRoot)\<SolutionFolder>\*.*" /S"></Exec>
<Exec Command="xcopy /S /Y /I "$(SolutionRoot)\<SolutionFolder>\*.*" "<server location>;" />