在App Service上,从zip文件部署新内容的最佳方式是什么,以便替换现有内容?
请注意:
有关详细信息,请参阅此处的讨论:https://github.com/projectkudu/kudu/issues/2367
答案 0 :(得分:8)
有一个解决方案,包括调用ARM msdeploy提供程序来部署云托管zip包。这在您的客户端上不需要msdeploy,因此涉及msdeploy技术的事实主要是您可以忽略的实现细节。
最后我会问到几个问题。
步骤如下:
然后使用cli 2.0运行以下命令,替换您的资源组,应用名称和zip url:
az resource update --resource-group MyRG --namespace Microsoft.Web --parent sites/MySite --resource-type Extensions --name MSDeploy --set properties.packageUri=https://davidebbostorage.blob.core.windows.net/arm/FunctionMsDeploy.zip --api-version 2015-08-01
这将导致程序包部署到您的wwwroot
,并且任何不在zip中的现有内容都会被删除。这是有效的,因为它不会触及任何已经存在的文件,并且与zip中的文件相同。所以它比试图清理所有东西并解压干净要快得多(但结果是相同的)。
现在有几个陷阱: