【问题标题】:Can MSDeploy deploy only new or changed files?MSDeploy 能否仅部署新文件或更改的文件?
【发布时间】:2011-02-12 03:03:04
【问题描述】:

我打算为我的网站使用 ASP.NET 4.0 的 Web 部署功能。有谁知道此功能是否进行增量部署(即仅在解决方案中部署更改或新文件)?

谢谢

【问题讨论】:

    标签: asp.net deployment msdeploy


    【解决方案1】:

    默认情况下,MSDeploy 仅部署新的或更改的文件。但是当我发现对我来说并非如此时,我偶然发现了这个问题。我使用 Angular CLI 按原样复制 assets 文件夹,但文件日期在途中丢失。默认情况下,MSDeploy 使用文件日期来确定文件是否已更改。

    Here 我找到了一种强制 MSDeploy 使用校验和而不是文件日期的方法。您只需在.pubxml 文件(发布配置文件)中的第一个PropertyGroup 中添加<MSDeployUseChecksum>True</MSDeployUseChecksum>。或者,如果您不使用 .pubxml 文件并直接使用 msdeploy,则只需在调用它时提供 /p:MSDeployUseChecksum=true 参数。对我暂时缓慢的互联网连接来说就像一个魅力:将部署从 10 分钟减少到 10 秒(大部分资产永远不会改变)。耶!

    【讨论】:

    • 更多信息请访问devblogs.microsoft.com/aspnet/…。可能值得注意的是校验和较慢。
    • 我们从不同的计算机发布。但是即使对于没有更改的文件,也有 True ,它不起作用。实际上,当我再次从同一台计算机上尝试时,校验和或时间戳都能正确检测到更改。但是当有人从另一台计算机发布时,这些方法都不起作用,它仍然一遍又一遍地发布相同的文件。
    【解决方案2】:

    是的。它非常快,对于具有许多目录的解决方案也是如此。

    我看到大型解决方案的部署时间从 30 分钟减少到大约 5 分钟。 对于较小的项目,增量部署可在几秒钟内完成。

    编辑: 由于几个回调:看看这个截图:

    查看单选按钮。 (图片取自我过去写的一篇关于网络配置转换的文章。如果您想查看此屏幕截图的上下文,请查看this link

    【讨论】:

    • 是的,你是怎么做到的?
    • 据我所知,它总是进行增量部署。这不是你必须打开或关闭的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2022-12-12
    • 2014-03-14
    相关资源
    最近更新 更多