【问题标题】:Azure deploy slot swap && URLs in config filesAzure 在配置文件中部署插槽交换 && URL
【发布时间】:2023-04-06 07:01:01
【问题描述】:

我确定 - 这是很常见的 Q,但我是 Azure 的新手,甚至不确定用谷歌搜索这个问题有多正确。

所以 - 这里我们有一些应用服务,其 URL 为 site.com。它有“交换”槽,网址为site-staging.com。

我们的部署方案是:

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

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

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

但是。完成“交换”后 - URL 将更改为“http://site.azurewebsites.net/admin”,而在 Web.staging.config - 它仍将使用旧值 - “http://site-staging.azurewebsites.net/admin”。

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

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

但是 Azure 的交换呢?

感谢任何提示。

【问题讨论】:

    标签: asp.net azure azure-web-app-service azure-deployment azure-deployment-slots


    【解决方案1】:

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

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

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

    希望对你有帮助,

    朱利安

    【讨论】:

    • 太棒了!我只是没有认识到 Azure 门户中 Web.config == "AppSettings" 中的“”。 .NET 不是我喜欢的痔疮 :-)
    • 所以 - 是的。刚刚完成测试:从 Web.Staging.config 中删除 <appSettings> 密钥,将其作为 Key 从 Azure 门户添加为 插槽设置 - 问题已解决/任务已完成 :-)跨度>
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多