0

最終的に、Desired State Configuration と Azure PowerShell SDK メソッド、特にPublish-AzureVMDscConfiguration -> Set-AzureVMDscExtension -> Update-AzureVMコンボを使用して、リリース プロセスを自動化することができました。

ビルド出力を VM からアクセス可能な場所に送信する方法についてしばらく考えた後、Azure Storage にアップロードされる構成パッケージにビルド ドロップを追加するという戦略にたどり着きました。

私の問題は、VM の PowerShell DSC 拡張機能がそのパッケージのダウンロードを開始するとすぐに、メモリ消費量が急増することです。タスク マネージャーを開くと、新しく作成された PowerShell プロセスが 30 メガバイト程度から 300 メガバイト、さらに 1.3 GB になり、VM が完全に破壊されていることがわかります。

昨日の午後、私は仕事を離れて処理を開始しましたが、今日 VM にログインしたとき、ビルド出力を含む内部 zip ファイルの DSCWork フォルダーに 0 バイトがありました。私の問題は、最終的には機能したとしても、非常に長い時間がかかり、VM が役に立たなくなることです...マシンが 100% の RAM 使用率で完全にスタックしているため、リモート アクセスでウィンドウ間を切り替えることさえできません。 .

PowerShell が構成パッケージをダウンロードするのに非常に多くのメモリと時間がかかるのはなぜですか? 圧縮された60MB、解凍された約200MBしかありません。それが起こらないようにするために私にできることはありますか?

アップデート:

たった今テストしたところ、最終的に正しく終了しました。丸 1 時間以上かかりましたが、ファイルはそこにあります。しかし、これは容認できません。

4

1 に答える 1

2

この問題は、拡張機能の次の反復で解決されるはずです。それまでの間、ビルド コンテンツを構成 ZIP パッケージとは別の BLOB にアップロードすることを検討してください (これには Set-AzureStorageBlobContent を使用できます)。

次に、元の構成でリモート ファイルまたはスクリプト リソースを使用して、BLOB をダウンロードできます。構成に適切な依存関係を追加して、使用する前に blob がダウンロードされるようにしてください。

configuration DownloadSample
{
    Import-DscResource -Module xPSDesiredStateConfiguration

    xRemoteFile Download
    { 
       Uri = 'https://....blob.core.windows.net/windows-powershell-dsc/foo.zip?sv=...'
       DestinationPath = 'd:\tmp\download.zip'
   }
}
于 2014-10-31T16:35:14.210 に答える