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 サブスクリプション
入力エイリアス: ConnectedServiceNamestring. 必須です。

スケール セットの 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. 必須です。 使用できる値: WindowsLinux

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 拡張機能を使用して実行されるスクリプト。 このスクリプトは、ディレクトリ内の他のスクリプトを呼び出すことができます。以下に渡す引数を使用して呼び出されます。
このような引数と組み合わせて、このスクリプトを使用してコマンドを実行できます。

例:

  1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)は、Web アプリケーションの のweb.config接続文字列を更新します。
  2. 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 以上
タスクのカテゴリ 配置