Azure云服务 - 仅发布增量更改

时间:2013-05-21 09:40:01

标签: azure azure-web-roles

我使用Package and Publish在Windows Azure云服务上部署了C#ASP.Net MVC4 Web角色。第一次上传整个包,网站运行正常。当我想发布下一组更改时,“发布”选项会尝试再次上传整个包。

我已根据文章Publishing a Cloud Service using the Windows Azure Tools中所述的指南配置了远程桌面和Web部署,并启用了增量更新。

但这似乎不起作用,Publish试图一次又一次地上传整个包。是否有人遇到过这个问题并提出任何解决办法?

3 个答案:

答案 0 :(得分:5)

不。

目前没有开箱即用的解决方案来支持增量变更部署。

使用云服务时,我强烈建议您使用Web Deploy进行开发/测试以外的任何其他操作。原因是,一旦实例被回收/修复,所有通过web-deploy和任何其他非全包上载过程所做的更改都将被清除。

我一直致力于一个允许推出部分更改的项目。不幸的是,它目前只支持更新“bin”文件夹。你可以看看this project here。至少这是一个很好的起点。

答案 1 :(得分:2)

要快速发布对开发环境的增量更改(不建议用于生产),请选中 - Speed Up Azure Deployments with the New Web Deployment Feature

答案 2 :(得分:0)

在VS2013中,从Web应用程序项目的上下文菜单中选择'Deploy',该项目是引用的(并且不是'Cloud Service'项目引用角色......执行 将非增量地发布整个服务及其所有角色。

应该是一个'发布配置文件',它指的是* .cloudapp.net平台上的网站。如果有的话,它被Visual Studio放在那里......可能是在第一次部署服务时首先勾选了“为所有Web角色启用Web部署”复选框。

然而,它可能不存在,或者是错误的。例如,因为Visual Studio很愚蠢,并且注意到您已经将Web App作为“Web站点”发布(在您决定将其作为“Web角色”合并到服务中之前),它决定离开现有的单独输入* .azurewebsites.net。或者是因为该项目仅作为服务定义的XML中的<VirtualApplication />元素包含在角色中,而Visual Studio只是忽略了创建它?

因此,您必须找到一些方法来强制Visual Studio为您重新创建正确的配置文件,或者您必须从已知的良好来源({{1)手动复制和编辑发布配置文件XML文件项目根目录下的目录,或者只是猜测缺少文档的设置。

这些设置类似于:

Properties/PublishProfiles

其中: <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WebPublishMethod>MSDeploy</WebPublishMethod> <MSDeployServiceURL>https://MYAPP.cloudapp.net:8172/MsDeploy.axd</MSDeployServiceURL> <DeployIisAppPath>INSTANCE</DeployIisAppPath> <RemoteSitePhysicalPath /> <AllowUntrustedCertificate>True</AllowUntrustedCertificate> <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer> <DeployAsIisApp>False</DeployAsIisApp> <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod> <UserName>MYUSER</UserName> </PropertyGroup> </Project> - 是已部署的Azure服务的域名 MYAPP - 是您要更新的实例的名称(从服务器资源管理器获取它...它是您服务下的'实例'的'名称'属性...或者从实例列表中获取它包含来自Windows Azure管理仪表板的服务)。 INSTANCE - 是最初发布时为远程桌面服务

设置的用户的名称