尝试运行我的 Powershell 脚本以交换我的预生产和生产槽时,我的四个 Azure Web 应用程序中的两个上不断收到此错误。
该命令Start-AzureWebsite -Name $WebSiteName -Slot $SourceSlotName
会导致以下错误:
Conflict: Cannot modify this site because another operation is in progress. Details: Id: b98d4832-5f6b-4bad-9c4e-470a2d0d100c, OperationName:
SwapSiteSlots, CreatedTime: 2/1/2016 9:30:54 PM, WebSystemName: websites, SubscriptionName: bd3570da-d430-485a-a83c-d4ef448b865e, WebspaceName: *******EastUSwebspace,
SiteName: *******, SlotName: preprod, ServerFarmName:
At C:dev...scriptsSwap-AzureWebApp.ps1:18 char:1
+ Start-AzureWebsite -Name $WebSiteName -Slot $SourceSlotName
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Start-AzureWebsite], CloudException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.StartAzureWebsiteCommand
没有正在进行的任何操作,但我在大约 30 分钟前将 Git 推送到我的预生产插槽......
它看起来像这个问题,但它来自Powershell,而不是Visual Studio,我正在尝试启动一个预生产插槽,然后交换它。
它自己解决了,叹气。
我的两个 Web 应用程序现在都与我的脚本有错误,现在交换没有任何错误(使用相同的脚本)。
我等了大约1小时...
在尝试在 CD 管道中将应用程序从暂存切换到生产时,我也遇到了同样的问题。作为解决方案,删除了过渡槽并重新部署。
然后它奏效了。
- 转到门户上的每个"槽"。(每个慢速在资源组中显示为名为"应用服务名称/槽名称"格式的单独应用服务) 在每个"槽位"
- 应用服务上,转到"部署槽位"边栏选项卡
- 在顶部,单击"完成交换",然后在下拉列表中选择"取消交换"
- 点击"取消掉期"
这些操作中只有一个会成功,其他操作将显示相同的错误。
如果您没有看到"完成交换"按钮,则只需等待,最多考虑一个小时。
成功后,请等待几分钟,然后再尝试再次部署/启动应用服务。