Azure部署插槽交换&&配置文件中的URL

时间:2016-01-12 14:00:43

标签: asp.net azure azure-web-sites azure-deployment azure-deployment-slots

我确定 - 这是非常常见的问答,但我是Azure的新手,并且不确定这个问题是否正确。

所以 - 这里我们有一些URL site.com的App服务。它有"交换"广告位,网址为site-staging.com

我们的部署方案是:

CI服务器>部署到STAGING>检查>如果确定则交换到PROD

问题是:在文件Web.staging.config中 - 我们有:

key="ida:PostLogoutRedirectUri" value="http://site-staging.azurewebsites.net/admin"

但是。在"交换"将完成 - 网址将更改为" http://site.azurewebsites.net/admin",而在Web.staging.config - 它仍会使用旧值 - " http://site-staging.azurewebsites.net/admin&#34 ;

所以 - 在用户打开" http://site.azurewebsites.net/admin"并登录 - 他将被重定向到" http://site-staging.azurewebsites.net/admin" (取自Web.staging.config),明显错误的方向。

例如,在AWS中的类似设置 - 我尝试在我的" shell-swap-scripts"中使用一些变量来确定人员和更改配置值。

但是Azure的交换呢?

任何提示赞赏。

2 个答案:

答案 0 :(得分:3)

对于在插槽之间切换的所有设置,最佳做法是从Azure门户配置应用程序设置和连接字符串,而不使用不同的web.config文件。门户网站中定义的所有设置都会覆盖web.config文件中可能存在的值(对于应用程序设置和连接字符串)。

您还可以定义特定插槽设置。

请参阅:https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/#configuration-for-deployment-slots

希望这有帮助,

于连

答案 1 :(得分:1)

配置根据插槽设置切换(或不切换)的应用程序设置的简单方法。有关配置的信息可以在Azure文档中找到: https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/#configuration-for-deployment-slots