我在Azure Web App中有2个部署槽:生产和暂存。我将代码部署到暂存槽,然后与生产槽交换,没有任何问题。现在我尝试交换回来:选择生产插槽作为源,并选择暂存插槽作为目标,但源插槽列表中只有启动插槽,因此无法选择生产插槽作为源插槽。已通过Azure CLI尝试,但返回错误ResourceNotFound(针对生产插槽)。可能是什么问题?
ResourceNotFound
mum43rcc1#
要将以前的版本交换到生产版本,可以选择“登台”作为源,选择“生产”作为目标。这两个版本将交换。假设您的v1在生产中,v2在暂存中。您将暂存交换到生产。现在v2在生产中,v1在暂存中。因此,再次执行相同的交换将导致v1在生产中,v2在暂存中。需要注意的一点是,生产从技术上讲不是一个插槽,它是主应用服务。这可能是您得到未找到资源的原因。与生产交换实际上是一个单独的操作,不同于将一个插槽与另一个插槽交换:https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/swap-slot-with-production .
3df52oht2#
Az CLI
AzCLI
az webapp deployment slot list --name <webapp> --resource-group <resourcegroupname>
staging and production
下面是我的deployment slots,它们在应用服务的部署下可用,您可以检查status以查看它是否正在运行。您还可以查看应用服务的activity log,以查找部署槽的日志历史记录和应用服务/Web应用的相关信息。
deployment slots
status
activity log
如果问题仍然存在,建议您创建一个新的生产槽,然后在其中部署代码以避免这些冲突。
2条答案
按热度按时间mum43rcc1#
要将以前的版本交换到生产版本,可以选择“登台”作为源,选择“生产”作为目标。这两个版本将交换。
假设您的v1在生产中,v2在暂存中。您将暂存交换到生产。现在v2在生产中,v1在暂存中。因此,再次执行相同的交换将导致v1在生产中,v2在暂存中。
需要注意的一点是,生产从技术上讲不是一个插槽,它是主应用服务。这可能是您得到未找到资源的原因。与生产交换实际上是一个单独的操作,不同于将一个插槽与另一个插槽交换:https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/swap-slot-with-production .
3df52oht2#
Az CLI
与生产插槽交换时收到**"ResourceNotFound"**错误,则生产插槽可能已被删除或在Web App中无法再访问。AzCLI
命令。*staging and production
插槽之间进行交换,但对于MSDoc中详细说明的少数应用程序服务,反之亦然。下面是我的
deployment slots
,它们在应用服务的部署下可用,您可以检查status
以查看它是否正在运行。您还可以查看应用服务的
activity log
,以查找部署槽的日志历史记录和应用服务/Web应用的相关信息。如果问题仍然存在,建议您创建一个新的生产槽,然后在其中部署代码以避免这些冲突。