如何将存储在 Azure 存储中的 cspkg 部署到 Azure 云服务(经典)?

How to deploy an cspkg stored in Azure storage to Azure cloud services (classic)?

我正在尝试使用 VSTS 发布管道部署存储在 Azure 存储帐户的 blob 容器中的 cspkg 文件。

我正在尝试模拟使用新版本更新云服务的升级过程,因此我在存储中存储了应用程序的当前 PROD 版本。我想将此版本发布到此测试升级云服务,然后将来自 TEST 的新版本发布到测试升级云服务,然后检查应用程序是否仍然有效。

我正在使用 Azure PowerShell 任务执行此过程,该过程类似于我过去用于执行此操作的 Azure 自动化 运行书籍。

第一步是获取cspkg文件,获取url

$pkgFile = Get-AzureRmStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName | Get-AzureStorageBlob -Container $ContainerName -Blob $BlobNamePackageFull
$package = $pkgFile.ICloudBlob.uri.AbsoluteUri

我还将配置文件写入临时文件夹

$TempFileLocation = "C:\temp$BlobNameConfiguration"
Get-AzureRmStorageAccount -Name $StorageAccountName -ResourceGroupName $ResourceGroupName | Get-AzureStorageBlobContent -Container $ContainerName -Blob $BlobNameConfiguration -Destination $TempFileLocation -Force

然后我尝试使用 New-AzureDeployment 部署云服务

New-AzureDeployment -ServiceName "$ServiceName" -Slot "$Slot" -Package "$package" -Configuration $TempFileLocation -Label "$Label" -ErrorAction Stop

我不断收到与未设置默认订阅相关的错误。

Error details = No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.

我已经将此任务用于 运行 其他任务,而没有弹出此错误。我已尝试使用我用于 运行 Azure PowerShell 任务的订阅 ID,但即使订阅存在,也会出现以下错误。

The subscription id XXX-XXX-XXXX doesn't exist

我如何 运行 这个 cmdlet?这在 Azure 自动化中确实有效。我是否应该寻找一种不同的方式来部署旧版本的 cspkg?

对于 New-AzureDeployment 命令,它是经典命令,因此您需要选择 Azure 经典作为 Azure PowerShell 任务的 Azure 连接类型,并指定一个经典端点。

因此,您可以使用 Azure Classic 端点​​添加另一个 PowerShell 任务来调用 New-AzureDeployment 进行部署。

另一方面,有用于部署云服务的 Azure 部署任务。