azure - Azure Web App 部署槽,我可以将槽应用换成主要生产,然后删除旧的吗?
问题描述
我想我误解了 Azure Web App 部署槽并且错误地使用了它们。
我们有一个想要升级到 Core 3.1 的 .NET Core 2.1 Web 应用程序。我们没有升级现有的,而是从头开始编写了一个新的,以便我们可以同时对其进行一些重构。
因此,我在 Azure 中创建了一个新的部署槽,并通过其(不同的)GitHub 存储库添加了新的 Web 应用程序。没关系,新的 slot Web App 加载正常,经过测试我们决定切换到新版本。
在上线时,我从 2.1 版本中删除了所有自定义域,并将它们与 SSL 一起添加到 3.1 版本中(有很多域通过 DNS 映射使用相同的 Web 应用程序,我将其更新为指向新插槽的 CNAME),对此进行了测试,一切正常。我点击了“交换插槽”,但基本上什么也没发生 - 2.1 应用程序保持“生产”状态,而 3.1 仍然是“插槽应用程序”。
现在我已经停止了 2.1 应用程序,我们所有的流量都流向了 3.1 插槽版本,但这让我觉得有问题!我需要摆脱2.1版本!
任何想法如何解决这个问题?即如何使(从图片)“eadgen-GenV2”成为主要/生产槽,所以我可以删除原来的“eadgen”?
参考:我关于这个的原始问题!
解决方案
eadgen 是您的默认插槽,而 eadgen-GenV2 是临时插槽,我认为您只能删除临时插槽。你可以尝试使用这个:
将被交换的是:
常规设置,例如框架版本、32/64 位、web sockets 应用程序设置(可配置为粘在插槽上)
连接字符串(可以配置为粘在插槽上)
处理程序映射
公共证书
网络工作内容
混合连接
虚拟网络集成
服务端点
Azure 内容交付网络
从文档的描述看来,它似乎能够更改框架版本。
这是文档:
https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots#swap-two-slots
推荐阅读
- django - 将excel文件加载到选定的表名
- ios - 使用触控板上的两指滚动识别 UISwipeGestureRecognizer
- javascript - 为什么函数没有返回
- linux - Perf 脚本错误的 Dwarf Stacktrace 输出
- spring - 在迁移到 Gradle Kotlin DSL 的 Spring Boot 项目中消除警告
- ionic-framework - 如何强制有角材料跟随 ionic v5 暗模式切换
- forms - 如何在表单引导程序中对齐列
- google-apps-script - 如何交换谷歌表格中的列
- r - 分配全局/反应变量
- java - 如何等待所有按钮点击功能完成