我尝试使用Windows Azure PowerShell (December 2012)升级运行node.js的Azure Web角色。我使用PowerShell成功部署了此Web角色。根据他们的instructions,我应该能够执行Publish-AzureServiceProject
来升级项目。尝试执行该命令时,我收到以下错误:
The deployment name 'deploymentName' already exists under service 'serviceName'
我找不到使用PowerShell设置部署名称的位置。我已经为PowerShell生成的DeploymentName
文件添加了deploymentSettings.json
设置,并尝试将DeploymentName
作为参数传递。我是否正在接近正确升级服务,或者是否有任何人遇到的参数允许您设置此项?
更新(2013年1月16日)
正如@AvkashChauhan建议我做了一个vanilla部署。我最初发布到Staging,然后运行Publish-AzureServiceProject并能够升级项目。
问题是当我使用Azure的Swap VIP功能将Staging部署提升到生产时。在交换部署之后,我有一个没有部署的空的临时插槽。如果我尝试运行Publish-AzureServiceProject再次发布到临时插槽(我没有更改其间的任何部署设置)。部署失败,并显示上面的错误消息。
更新(2013年1月22日)
我还没有找到解决方法。我在azure-sdk-tools repo上报告了一个问题,希望能在那里做出回应。您可以阅读更多内容或点击此处:https://github.com/WindowsAzure/azure-sdk-tools/issues/892
我会报告此问题的任何更新。
答案 0 :(得分:1)
我真的很想知道为什么更新云服务失败了。这里我只是尝试检查服务设置是否有任何问题,使用“Set-AzureServiceProject”设置完成,如下所示:
> Set-AzureServiceProject -Location "East US" -Slot "Production"
根据以上设置,我的deploymentSettings.json如下所示(首先根据发布设置设置订阅ID,并且存储名称与服务名称相同):
{"Slot":"Production","Location":"East US","Subscription":"","StorageAccountName":""}
现在,当我使用Publish-AzureServiceProject更新我的服务时,它只是起作用:
PS C:\node\AvkashSvc\> Publish-AzureServiceProject
Publishing to Windows Azure. This may take several minutes...
4:27:57 PM - Preparing runtime deployment for service 'AvkashSvc'
4:27:57 PM - Preparing deployment for AvkashSvc with Subscription ID: ***...
4:28:01 PM - Connecting...
4:28:02 PM - Uploading Package...
4:28:05 PM - Upgrading...
4:30:29 PM - Created Deployment ID: **********.
4:30:29 PM - Starting...
4:30:29 PM - Initializing...
4:30:29 PM - Instance WebRole1_IN_0 of role WebRole1 is ready.
4:30:30 PM - Created Website URL: http://AvkashSvc.cloudapp.net.
4:30:30 PM - Complete.
我建议尝试将插槽更改为“暂存”并执行首次部署,然后更新以查看是否遇到同样的问题。你试着用vanila node.js app做同样的事情是什么?