有没有一种方法在使用msbuild时通过-Usechecksum参数传递到msdeploy?

4
我有一个网站,里面有很多文件,使用团队构建,并通过Web部署包进行部署。 我遇到的问题是部署包是由农场中的一台机器构建的,时间戳不总是匹配的。 默认情况下,这意味着进行完整的网站滚动,由于有这么多文件和群集之间的同步,这是不理想的。
使用cmd行部署,我可以传递-UseCheckSum参数来解决手动部署的问题。现在我正在尝试使用自动部署的CI构建,并通过我的构建设置传递MSbuild参数。 有没有办法以相同的方式部署它?
2个回答

6
你不能在MSBuild中执行此操作,但是你可以在构建服务器上编辑Microsoft.Web.Publishing.targets文件以应用-UseChecksum。
请参见我的答案:https://dev59.com/uWvXa4cB1Zd3GeqPFhJJ#13863041 更新:微软已经添加了将UseChecksum标志传递给VS 2013的功能。要实现这一点,请将以下属性添加到.pubxml文件中:
<MSDeployUseChecksum>true</MSDeployUseChecksum>

更多信息请参见:http://blogs.msdn.com/b/webdev/archive/2013/10/30/web-publishing-updates-for-app-offline-and-usechecksum.aspx


注:给管理员的说明,为什么您删除了我的先前回答?它明确回答了这个问题。请解释一下。 - Chris Hynes

0
如果你所说的“MSBuild”是指Web发布管道,那么答案是否定的。虽然MSDeploy msbuild任务支持UseChecksum属性,但WPP目标没有提供任何机制来设置它。这也适用于许多其他功能(如存储凭据)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接