4

我有一个网站,其中包含大量文件,使用团队构建和通过 Web 部署包进行部署。我遇到的问题是软件包是从农场的一台机器上构建的,时间戳并不总是匹配的。默认情况下,使用 Web 部署意味着完整的站点滚动以及如此多的文件和跨集群的同步,这不是最佳的。

使用 cmd line deploy 我可以通过 -UseCheckSum ,这可以解决手动部署。现在我正在尝试使用具有自动部署功能的 CI 构建,并通过我的构建设置传递 MSbuild 参数。有没有办法让它以相同的方式部署?

4

2 回答 2

6

您无法在 MSBuild 中执行此操作,但可以编辑构建服务器上的 Microsoft.Web.Publishing.targets 文件以应用 -UseChecksum。

在这里查看我的答案:https ://stackoverflow.com/a/13863041/8037

更新:MS 添加了将 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

于 2013-02-25T20:58:26.530 回答
0

如果“MSBuild”是指 Web Publishing Pipeline,那么答案是否定的。MSDeploymsbuild 任务支持UseChecksum属性,但 WPP 目标不提供可以设置它的机制。许多其他功能(如存储的凭据)也是如此。

于 2012-09-29T01:01:28.113 回答