【问题标题】:How does Azure web app deployment works after swapping?交换后 Azure Web 应用部署如何工作?
【发布时间】:2017-01-01 06:58:02
【问题描述】:

我有一个 ASP.NET MVC 应用程序部署到标准 Azure Web 应用程序服务。我还将 Web 应用程序配置为具有 1 个称为“暂存”的部署槽。首先,我使用 VS2015 发布工具将我的 Web 应用程序发布到 staging slot 并进行了测试。它有效,所以我将它与生产槽交换。然后,我再次发布了另一个版本,其中对暂存槽进行了一些代码更改。它直接发布到我的生产槽。我认为 Azure Web 应用程序生产槽现在是交换后的实际暂存槽。如何让网络应用始终发布到当前未上线的插槽(即生产插槽)以在再次交换之前进行测试?

我通过右键单击 web 项目并选择发布来发布 web 应用程序,输入我的 azure 订阅 ID 和密码,选择 web 应用程序并发布。

谢谢

【问题讨论】:

    标签: azure azure-web-app-service


    【解决方案1】:

    我发现发布过程发生了什么。 VS2015 发布工具不允许选择特定插槽来部署 Web 应用程序。如果您从选择列表中选择 Web 应用程序,它将部署到生产槽。由于某种原因,它在第一时间发布到我的暂存槽,这引起了我的困惑。

    要使发布向导将 Web 应用程序部署到暂存槽,我必须从 Azure 门户上的暂存槽下载发布配置文件,并将其中的信息复制到发布向导。需要复制的信息包括publishUrl、msdeploySite、userName、userPWD 和destinationAppUrl。更新发布配置文件后,我的发布向导现在始终部署到我的暂存槽。

    【讨论】:

      【解决方案2】:

      暂存槽始终被视为暂存槽。在幕后,它正在发挥一些 DNS 的魔力,但这不是您必须计划的。

      【讨论】:

      • 您还应该确保未打开自动交换。如果是这样,那就可以解释为什么发布到登台会自动出现在生产环境中。
      • 自动交换始终关闭。我的观点是 VS2015 中的发布工具在交换生产和暂存一次后直接部署到生产槽。
      • Visual Studio 中的发布配置文件应该保存之前使用的槽信息。您是使用相同的配置文件还是创建了一个新配置文件?
      • 我使用了相同的配置文件,该配置文件用于在第一次交换之前发布到暂存槽。站点名称始终为“-staging”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2017-08-01
      相关资源
      最近更新 更多