Windows Azure Bootstrapperは、Windows AzureのWebロール、Workerロールで使用するコマンドラインツールです。このツールは、リソース(公開されているリソースやブロブストレージ)をダウンロードし、必要なら解凍し、実行することを簡単にできます。
再起動するたびに、ダウンロード、実行をさせたくない場合、それらの依存関係を記録し、インストーラーの実行を一回だけに制限できます。さらに、いくつか便利な機能があります。
- 任意のhttp(s)リソースまたはWindows Azureブロブストレージからダウンロードできます
- ログの記録
- RoleEnvironment又はapp.configから設定解析します
- RoleEnvironmentからポート、DIPアドレス、ローカルリソースパスを取得し利用します
- リソースのZIP解凍
- プロセスの起動
- リソースが一度だけインストールすること、又は一度だけダウンロードし解凍することを保証します
サンプル1
bootstrapper.exe -get bootstrap/Installer.zip -lr $lr(temp) -unzip $lr(temp)\extract -sc $config(ConnectionString) -run $lr(temp)\extract\installer.msi -args /qn -block
この例は、ConnectionString設定で定義されているストレージのbootstrapと呼ばれるコンテナーからinstaller.zipをダウンロードします。それをローカルリソースのtempにダウンロードし、extractと呼ばれるフォルダーに解凍した後、installer.msiと呼ばれる.msiファイルを/qnパラメータを通して実行します。
最後に、.msiが終了するまでのインストーラーが動作している間ブロックします。
サンプル2
bootstrapper.exe -get http://download.microsoft.com/download/F/3/1/F31EF055-3C46-4E35-AB7B-3261A303A3B6/AspNetMVC3ToolsUpdateSetup.exe -lr $lr(temp) -run $lr(temp)\AspNetMVC3ToolsUpdateSetup.exe -args /q
この例は、MicrosoftからMVC3インストーラーをtempローカルリソースにダウンロードし、それを/q引数をつけて実行します。このケースではブロックします。
関連リンク
- http://bootstrap.codeplex.com/ からWindows Azure Bootstrapperをダウンロードできます。
- この投稿は、Windows Azure Bootstrapper: A Command Line Tool for post processing jobs like downloading, unzipping, installing outside web or worker roleをざっくり意訳した投稿です。