当源是包时,Microsoft WebDeploy CLI 工具是否部署增量?

Does the Microsoft WebDeploy CLI tool deploy deltas when the source is a package?

我正在使用 msdeploy.exe 从构建服务器部署包,并且部署每次都会复制所有文件。根据这个 article,“Web Deploy 足够聪明,可以将远程服务器与您的本地项目进行比较——并且只复制它需要的文件。”我没看到影响此的任何命令行选项,所以我想知道这是否仅在从另一个站点同步一个 IIS 站点时才有效,而不是从一个包中同步一个站点。

这是我发出的大致命令,以帮助回答问题。

msdeploy.exe -verb:sync -source:package="C:\[path]/deploymentPackage.zip" -dest:auto,computerName="server.com",includeAcls="False" -setParamFile="C:\[path]/parameterFile.xml"

默认情况下 WebDeploy/MSDeploy 仅将 "changed" 个文件复制到目标。默认情况下,它使用文件大小和日期时间戳来确定更改的文件。因此,每个新构建都可能会将所有文件复制到目标。

或者,您可以在 MSDeploy.exe 命令上设置 -useCheckSum 标志,以根据文件的内容识别更改的文件。

https://technet.microsoft.com/en-us/library/dd569089(v=ws.10).aspx