我尝试在QA环境中执行2个Azure插槽(暂存和生产)之间的交换。为此,我使用PowerShell并使用Switch-AzureWebsiteSlot cmdlet。 在我执行的下面: *`
Switch-AzureWebsiteSlot -Name" http://qa-2.cloudapp.net/" -Slot1 "生产" -Slot2" Staging" -Force -Verbose -Debug
`*
但是我收到了以下错误:
Switch-AzureWebsiteSlot:该网站必须至少有两个插槽 申请互换 C:\ PrivateAgents \ agent2_work \ R6 \一个\ MyCompany的-CI-模板\降#1129 \ myCompany的-swapslots-azure.ps1:222 焦炭:2 + Switch-AzureWebsiteSlot -Name" http://qa-2.cloudapp.net/" -Slot1 ...... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:CloseError:(:) [Switch-AzureWebsiteSlot],PSInvalidOperationException + FullyQualifiedErrorId:Microsoft.WindowsAzure.Commands.Websites.SwitchAzureWebsiteSlotCommand
DEBUG:AzureQoSEvent:CommandName - Switch-AzureWebsiteSlot; IsSuccess - 错;持续时间 - 00:01:02.5624486;异常 - System.Management.Automation.PSInvalidOperationException:网站 必须至少有两个插槽才能应用swap Microsoft.WindowsAzure.Commands.Websites.SwitchAzureWebsiteSlotCommand.ExecuteCmdlet() 在 Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord();
我使用调试模式来获取更多细节,但我不明白这是什么意思。我也是Azure和Powershell的新手。
我确保在执行我的cmdlet之前将正确的AzureSubscription设置为当前版本。
任何人都遇到过与我相同的问题吗?
我怀疑" -Name"我用的价值。我使用Azure门户网站上找到的站点URL。我不知道它是否正确。
答案 0 :(得分:0)
要在订阅中获取您网站的名称,请使用以下PowerShell cmdlet:
获取-AzureWebsite 强>
注意:网站应该是这样的“ constosoweb ”,azure网站看起来像 contosoweb.cloudapp.net 。
有关详细信息,请参阅“Swap Slots in Azure Web Site when there are 2 or more staging slots using Azure PowerShell”。
答案 1 :(得分:0)
我怀疑" -Name"我用的价值。我使用我发现的网站网址 在Azure门户上。我不知道它是否正确。
-Name
是网站的名称,我们可以使用ARM powershell来获取它:
Get-AzureRmWebApp -ResourceGroupName <resourcegroupname> -Name <webappname>
像这样:
Switch-AzureWebsiteSlot:网站必须至少有两个插槽
根据此错误消息,我们应该向该网站添加至少两个广告位:
然后我们可以运行Switch-AzureWebsiteSlot -Name jasonapp3 -Slot1 jasonapp32 -Slot2 jasonapp4
,结果如下:
答案 2 :(得分:0)
Pradeep和Jason,
非常感谢你的帮助。 感谢您的建议,我想出了我的问题所在。实际上,我们使用Azure Cloud Service而不是WebSite。这就是我的cmdet失败的原因。
我找到了适用于Cloud Service的cmdlet,我发现Move-AzureDeployment
对我来说非常适合。
由于