Umbraco部署到Azure
我刚刚在vstudio 2017中创建了一个网站,并添加了Umbracocms Nuget软件包。我还添加了uSync,进行了一些配置、设计等,然后将该站点发布到Azure。在发布之前,我修改了web.config以确保强制启动向导。因此,我可以配置我的SQLAzure数据库,现在这个网站就像一个魔咒 不,我在考虑将来的更新。。。为了能够在我的本地机器上继续开发该站点,我必须还原我的web.config以使用SDF文件,那么在Azure上的下一次部署会发生什么呢?我猜web.config文件将在包中,因此它将替换Azure上的文件 因此,或者,我总是清除键以强制向导运行,或者我不清除,然后我猜我的站点将关闭,因为它将不再使用SQLAzure数据库Umbraco部署到Azure,azure,azure-web-app-service,umbraco,umbraco7,Azure,Azure Web App Service,Umbraco,Umbraco7,我刚刚在vstudio 2017中创建了一个网站,并添加了Umbracocms Nuget软件包。我还添加了uSync,进行了一些配置、设计等,然后将该站点发布到Azure。在发布之前,我修改了web.config以确保强制启动向导。因此,我可以配置我的SQLAzure数据库,现在这个网站就像一个魔咒 不,我在考虑将来的更新。。。为了能够在我的本地机器上继续开发该站点,我必须还原我的web.config以使用SDF文件,那么在Azure上的下一次部署会发生什么呢?我猜web.config文件将在
解决这个问题的办法是什么?如何在Azure上无缝更新我的网站?在我看来,我只需点击“发布”,然后网站就会上传到Azure上,uSync确保我所做的更改是同步的,就这样。根据您部署网站的方式,您可能需要使用Web.Config转换和配置Visual Studio的发布设置 您应该已经有一个Web.Config和一个Web.Release.Config 在Web.Config中,您将拥有:
<connectionStrings>
<remove name="umbracoDbDSN" />
<add name="umbracoDbDSN" connectionString="your local connection string" providerName="System.Data.SqlClient" />
</connectionStrings>
然后在Web.Release.Config中,您将需要:
<connectionStrings>
<add name="umbracoDbDSN"
connectionString="your production connection string"
providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)" />
</connectionStrings>
在发布配置文件中,您可以将配置设置为release。执行此操作时,您还会注意到umbracodsn显示一个空文本框。根据我的经验,最好将Web.Release.Config中的连接字符串放在其中,并选中“在运行时使用此连接字符串”
这个额外的转换在Web.Release.config中的转换之后应用,并将覆盖它们。从历史上看,这个接口有点问题,如果没有明确设置,就会清除连接字符串。您可以使用云web配置和本地web配置。如果您总是连接到SQLAzure,即使在开发期间,您也不必为db做任何事情。如果没有,您可以拥有一个SQL DB项目来维护您在开发过程中对DB所做的更改。好吧,我想在开发中使用sdf文件,在生产中使用SQL Azure DB(我不想在开发中更改实时数据),但假设我在我的项目中修改了很多文件。为了确保我不会忘记任何内容,我会发布项目,这样web.config就会被覆盖。每次都可以重新发布数据库。这不应该是一个问题。就web配置而言,除了db连接字符串之外,您是否有太多的变量?在这种情况下,您可以使用xslt使用web配置转换。我不明白。这并不是说变量太多,只是因为我想在本地使用sdf文件,所以当我在项目级别发布时,web.config总是会被覆盖。而且我不希望每次执行这样的部署时都必须运行向导。从SQL management studio中分别发布db和从visual studio中分别发布站点。或者,如果您还没有使用UaaS-umbraco云服务,也可以使用该服务。