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

Azure deploy slot swap && URLs in config files

我确定 - 这是一个很常见的问题,但我是 Azure 的新手,甚至不确定 google 这个问题的正确性。

所以 - 这里我们有一些 URL site.com 的应用程序服务。它有 "swap" 个插槽,有 URL site-staging.com.

我们的部署方案是:

CI 服务器 > 部署到 STAGING > 检查 > 如果正常然后切换到 PROD

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

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

但是。 "swap" 完成后 - URL 将更改为“http://site.azurewebsites.net/admin", while in Web.staging.config - it still will use old value - "http://site-staging.azurewebsites.net/admin”。

所以-用户打开“http://site.azurewebsites.net/admin" and log in - he will be redirected to "http://site-staging.azurewebsites.net/admin”(取自Web.staging.config)后,明显是错误的方向。

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

但是 Azure 的交换呢?

感谢任何提示。

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

您还可以定义 specific-slot 设置。

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

希望这对您有所帮助,

朱利安

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