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 VM scale set Deployment v0
# Deploy 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.
入力
azureSubscription
- Azure サブスクリプション
入力エイリアス: ConnectedServiceName
。 string
. 必須です。
スケール セットの Azure Resource Manager サブスクリプションを指定します。
action
- アクション
string
. 必須です。 使用できる値: Update image
(イメージを使用して VM スケール セットを更新する) Configure application startup
、(VM スケール セットでカスタム スクリプト VM 拡張機能を実行する)。 既定値: Update image
。
選択した方法で VM スケール セットをUpdatesします。VHD イメージを使用するか、カスタム スクリプト VM 拡張機能を使用してデプロイ/インストール スクリプトを実行します。
VHD イメージのアプローチ は、迅速にスケーリングし、ロールバックを実行する場合に適しています。 カスタム イメージを使用して VM スケール セットを作成すると、VHD イメージによって更新できます。 AZURE で使用可能なプラットフォーム/ギャラリー イメージを使用して VM スケール セットが作成された場合、更新は失敗します。
カスタム スクリプト VM 拡張機能のアプローチ は、デプロイ後の構成、ソフトウェアのインストール、またはその他の構成/管理タスクに役立ちます。 カスタム スクリプト VM 拡張機能のアプローチは、カスタム イメージまたはプラットフォーム/ギャラリー イメージを使用して作成された VM スケール セットに使用できます。
vmssName
- 仮想マシン スケール セット名
string
. 必須です。
更新する VM スケール設定の名前を指定します。 VHD イメージまたはカスタム スクリプト VM 拡張機能を使用します。
vmssOsType
- OS の種類
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
を使用します。
省略可能。 カスタム スクリプトは、引数を渡して呼び出されます。 ビルド/リリース変数を使用すると、シークレットを簡単に使用できます。
customScriptsStorageAccount
- カスタム スクリプトがアップロードされる Azure ストレージ アカウント
string
. 省略可能。 の場合は action = Configure application startup || action = Update image || action = UpdateImage
を使用します。
省略可能。 カスタム スクリプト拡張機能は、VM スケール セット内の各仮想マシンで指定されたスクリプトをダウンロードして実行します。 これらのスクリプトは、ここで指定した既存の ARM ストレージ アカウントに格納されます。
skipArchivingCustomScripts
- カスタム スクリプトのアーカイブをスキップする
boolean
. 既定値: false
。
省略可能。 既定では、このタスクはカスタム スクリプトを含むディレクトリの圧縮アーカイブを作成します。 これにより、Azure Storage へのアップロード中のパフォーマンスと信頼性が向上します。 選択されていない場合、アーカイブは行われず、すべてのファイルが個別にアップロードされます。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
このタスクを使用して、仮想マシン スケール セット イメージをデプロイします。
スクリプトの実行は成功として報告されますが、VMSS インスタンスは更新されません
スケール セットには、最新のスケール セット モデルを使用して VM を最新の状態に更新する方法を決定するアップグレード ポリシーがあり、アップグレード ポリシーが手動に設定されている場合は、各 VM を手動でアップグレードする必要があります。 詳細については、「最新の スケール セット モデルを使用して VM を最新の状態にする方法」を参照してください。 更新ポリシーを変更することも、各 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'
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
実行日 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.0.0 以上 |
タスクのカテゴリ | 配置 |