AzureVmssDeployment@0 - Azure VM スケール セットのデプロイ v0 タスク
このタスクは、仮想マシン スケール セット イメージをデプロイします。
構文
# Azure VM scale set deployment v0
# Deploy a virtual machine scale set image.
- task: AzureVmssDeployment@0
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
vmssName: # string. Required. Virtual Machine scale set name.
vmssOsType: # 'Windows' | 'Linux'. Required. OS type.
# Image Details
#imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL.
# Configure start-up
#customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory.
#customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command.
#customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments.
#customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded.
# Advanced
#skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.
入力
Azure サブスクリプション を
入力エイリアス: ConnectedServiceName
。
string
. 必須。
スケール セットの Azure Resource Manager サブスクリプションを指定します。
action
-
アクションの
string
. 必須。 使用できる値: Update image
(イメージを使用して VM スケール セットを更新する)、Configure application startup
(VM スケール セットでカスタム スクリプト VM 拡張機能を実行する)。 既定値: Update image
.
選択した方法で、VHD イメージを使用するか、カスタム スクリプト VM 拡張機能を使用してデプロイ/インストール スクリプトを実行して、VM スケール セットを更新します。
VHD イメージのアプローチ は、すばやくスケーリングしてロールバックを実行する方が適しています。 カスタム イメージを使用して VM スケール セットを作成すると、VHD イメージで更新できます。 VM スケール セットが Azure で使用可能なプラットフォーム/ギャラリー イメージを使用して作成された場合、更新は失敗します。
カスタム スクリプト VM 拡張機能のアプローチ は、デプロイ後の構成、ソフトウェアのインストール、またはその他の構成/管理タスクに役立ちます。 カスタム スクリプト VM 拡張機能のアプローチは、カスタム イメージまたはプラットフォーム/ギャラリー イメージを使用して作成された VM スケール セットに使用できます。
仮想マシン スケール セット名を vmssName
- する
string
. 必須。
更新する VM スケール設定の名前を指定します。 VHD イメージまたはカスタム スクリプト VM 拡張機能を使用します。
OS の種類を vmssOsType
- する
string
. 必須。 使用できる値: Windows
、Linux
。
VM スケール セットのオペレーティング システムの種類を指定します。
imageUrl
-
イメージ URL
string
.
action = Update image || action = UpdateImage
する場合に必要です。
VHD イメージの URL を指定します。 Azure ストレージ BLOB URL の場合、ストレージ アカウントの場所はスケール セットの場所と同じです。
カスタム スクリプト ディレクトリの customScriptsDirectory
-
string
. 任意
action = Configure application startup || action = Update image || action = UpdateImage
するときに使用します。
任意 カスタム スクリプト VM 拡張機能を使用して実行されるカスタム スクリプトを含むディレクトリへのパス。 拡張機能のアプローチは、展開後の構成、アプリケーション/ソフトウェアのインストール、またはその他のアプリケーション構成/管理タスクに役立ちます。 たとえば、データベース接続文字列など、アプリケーションが使用するコンピューター レベルの環境変数をスクリプトで設定できます。
customScript
-
コマンド
string
. 任意
action = Configure application startup || action = Update image || action = UpdateImage
するときに使用します。
任意 カスタム スクリプト VM 拡張機能を使用して実行されるスクリプト。 このスクリプトは、ディレクトリ内の他のスクリプトを呼び出すことができます。このスクリプトは、以下に渡す引数を使用して呼び出されます。
このような引数と組み合わせて、このスクリプトを使用してコマンドを実行できます。
次に例を示します。
-
Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)
は、Web アプリケーションのweb.config
の接続文字列を更新します。 -
install-secrets.sh --key-vault-type prod -key serviceprincipalkey
は、サービス プリンシパル キーを含む暗号化されたファイルを作成します。
customScriptArguments
-
引数
string
. 任意
action = Configure application startup || action = Update image || action = UpdateImage
するときに使用します。
任意 カスタム スクリプトは、引数を渡して呼び出されます。 ビルド/リリース変数を使用できるため、シークレットを簡単に使用できます。
カスタム スクリプトがアップロードされる Azure ストレージ アカウントを customScriptsStorageAccount
-
string
. 任意
action = Configure application startup || action = Update image || action = UpdateImage
するときに使用します。
任意 カスタム スクリプト拡張機能は、VM スケール セット内の各仮想マシンで指定されたスクリプトをダウンロードして実行します。 これらのスクリプトは、ここで指定した既存の ARM ストレージ アカウントに格納されます。
skipArchivingCustomScripts
-
カスタム スクリプトのアーカイブをスキップする
boolean
. 既定値: false
.
任意 既定では、このタスクはカスタム スクリプトを含むディレクトリの圧縮アーカイブを作成します。 これにより、Azure Storage へのアップロード時のパフォーマンスと信頼性が向上します。 選択されていない場合、アーカイブは行われず、すべてのファイルが個別にアップロードされます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
このタスクを使用して、仮想マシン スケール セット イメージをデプロイします。
スクリプトの実行は成功として報告されますが、VMSS インスタンスは更新されません
スケール セットには、最新のスケール セット モデルを使用して VM を up-to-date に持ち込む方法を決定するアップグレード ポリシーがあり、アップグレード ポリシーが手動に設定されている場合は、各 VM を手動でアップグレードする必要があります。 詳細については、「最新のスケール セット モデルを使用して VM up-to-date を使用する方法」を参照してください。 更新ポリシーを変更することも、各 VM を手動でアップグレードすることもできます。 たとえば、ポリシーを Automatic
にアップグレードするには、次の Az CLI コマンドを使用します: az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>
エラー: 'アクセス許可が拒否されました: スクリプトが実行可能ではありません'
この問題は、カスタム スクリプトを実行しようとしても、スクリプトが実行可能でない場合に発生します。
この問題を解決するには、まず、スクリプト名が 'test.sh'
する前に、customScript
入力に ./
または何も含まれていないことを確認します。
customScript: 'test.sh'
次に、仮想マシン スケール セット タスクの前にコマンド ライン タスクを追加してみてください。
- task: CmdLine@2
inputs:
script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh'