我在Azure中有一个Cloud Service,我决定编写一个PowerShell脚本来自动构建&发布此Cloud Service。我坚持一个问题。当我在运行以下内容时:
Set-AzureDeployment -Upgrade -Slot $slot -Package $package_url -Configuration $config -ServiceName $service -Force
我收到了以下错误:
Set-AzureDeployment:BadRequest:无法添加保留的IP, 在deplyoment更新或升级期间删除或更改。
我不想对保留IP做任何事情。在配置文件(由msbuild生成)中,有如下部分:
<ReservedIPs>
<ReservedIP name="MY-SERVICE-NAME-SLOT" />
</ReservedIPs>
我试图删除它,但它没有帮助。 如果我第一次部署我的服务,一切都按预期工作。我无法相信您只能发布新的云服务但无法使用PowerShell进行更新,这对我来说毫无意义。必须有一种方法来使用PowerShell更新服务。
任何帮助表示感谢。
修改
正如@WilfriedWoivré建议我使用以下命令检查ReservedIPName:
$deployment = Get-AzureDeployment -ServiceName $service -Slot $slot -ErrorAction silentlycontinue
Write-Host $deployment.Name
Get-AzureReservedIP
执行后
GET-AzureReservedIP
我发现我的配置中的ReservedIPName与我正在尝试升级的deplyoment中存在的那个完全相同。所以答案是错误的。
先生。 WilfriedWoivré - 将来请在发布之前测试你的答案
答案 0 :(得分:0)
即使您有ReservedIP,也可以在Azure上升级您的云服务。你的脚本似乎是正确的。
为此,在现有服务和配置文件上,ReservedIP必须相同。 您可以使用此命令检查当前部署
Get-AzureDeployment -ServiceName $service -Slot $slot
要验证您的ReservedIP,您可以调用方法Get-AzureReservedIP,您可以看到每个
的使用