6

Windows Azure Powershell(2012年10月バージョン0.6.7)をインストールした後、Set-AzureDeploymentコマンドレットの実行中にエラーが発生します。

Remove-AzureDeploymentとNew-AzureDeploymentに同じパラメーターを指定すると、正常に機能します。

Remove-AzureDeployment -Slot $ slot -ServiceName $ serviceName -Force

New-AzureDeployment -Slot $ slot -Package $ packageLocation -Configuration $ cloudConfigLocation -label $ deploymentLabel -ServiceName $ serviceName

ただし、Set-AzureDeploymentを-Upgradeスイッチとともに使用し、上記と同じパラメーター値を使用すると、エラーが発生します。

Set-AzureDeployment -Upgrade -Slot $ slot -Package $ packageLocation -Configuration $ cloudConfigLocation -label $ deploymentLabel -ServiceName $ serviceName -Force

エラーは次のとおりです。

+ CategoryInfo:CloseError:(:) [Set-AzureDeployment]、ProtocolException

+ FullyQualifiedErrorId:Microsoft.WindowsAzure.Management.ServiceManagement.HostedServices.SetAzureDeploymentCommand

内部例外をキャッチすると、次のことがわかります。

<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Code>MissingOrIncorrectVersionHeader</Code><Message>The versioning header is not specified or was specified incorrectly.</Message></Error>

誰かが何が間違っているのかについてアドバイスを提供できますか?

私が実行しようとしているスクリプトは、ここからのPublishCloudService.ps1です。

4

3 に答える 3

4

コマンドレットの 2012 年 10 月のリリースでも同じ問題がありました。でサポート チケットを開き、既知の問題であることを示し、エラーを回避するために 8 月のリリースを指摘してくれました - https://github.com/WindowsAzure/azure-sdk-tools/downloads。10 月のビルドをアンインストールし、8 月のビルドをインストールした後、展開は期待どおりに機能し始めました。

于 2012-11-15T18:49:05.367 に答える
2

私は AzurePowerShell の初心者ですが、同様の問題もあります。次の方法でだまします。

  1. スロットをステージングに設定
  2. 存在する場合は、現在の展開を削除します
  3. 新しい展開を作成する
  4. 交換する

これは私の PowerShell スクリプトです (変更元: http://weblogs.asp.net/srkirkland/archive/2012/09/11/ci-deployment-of-azure-web-roles-using-teamcity.aspx )

$subscription = "[Your Subscription Name]"
$service = "[Your Service Name]"
$slot = "staging" 
$package = "[Your Package File]"
$configuration = "[Your Config File]"
$timeStampFormat = "g"
$deploymentLabel = "ContinuousDeploy to $service v%build.number%"
$storageaccount = "[Your Storage Account Name]"

Write-Output "Running Azure Imports"
Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows   Azure\PowerShell\Azure\*.psd1"
Import-AzurePublishSettingsFile "[Your publishsettings file]"
Set-AzureSubscription -SubscriptionName $subscription -SubscriptionId "[Your   Subscription Id]" -CurrentStorageAccount $storageaccount
Set-AzureSubscription -DefaultSubscription $subscription

function Publish(){
 $deployment = Get-AzureDeployment -ServiceName $service -Slot $slot -ErrorVariable a -  ErrorAction silentlycontinue 

 if ($a[0] -ne $null) {
    Write-Output "$(Get-Date -f $timeStampFormat) - No deployment is detected. Creating  a new deployment. "
 }

 if ($deployment.Name -ne $null) {
    Write-Output "$(Get-Date -f $timeStampFormat) - Deployment exists in $servicename.   Upgrading deployment."
    Remove-AzureDeployment -Slot $slot -ServiceName $service -Force
 } 

 CreateNewDeployment
 Move-AzureDeployment -ServiceName $service
 }

function CreateNewDeployment()
{
    write-progress -id 3 -activity "Creating New Deployment" -Status "In progress"
    Write-Output "$(Get-Date -f $timeStampFormat) - Creating New Deployment: In   progress"

    $opstat = New-AzureDeployment -Slot $slot -Package $package -Configuration    $configuration -Label $deploymentLabel -ServiceName $service

    $completeDeployment = Get-AzureDeployment -ServiceName $service -Slot $slot
    $completeDeploymentID = $completeDeployment.deploymentid

    write-progress -id 3 -activity "Creating New Deployment" -completed -Status "Complete"
    Write-Output "$(Get-Date -f $timeStampFormat) - Creating New Deployment: Complete,    Deployment ID: $completeDeploymentID"
}

Write-Output "Create Azure Deployment"
Publish

そして、それは働いています:)

于 2012-11-22T04:03:10.587 に答える
1

同様の問題が発生していました。cspkg を個別にブロブ ストレージにアップロードし、-Package {url-to-blob} で参照すると、アップグレードが機能しました。

これは、設定が間違っているためにブロブ自体をアップロードできなかったことを意味している可能性がありますが、それが何であるかを判断するのは非常に困難です.

内部例外をどのようにキャプチャしましたか?

于 2012-11-11T19:28:43.183 に答える