次の方法で共有


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

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

任意 カスタム スクリプトは、引数を渡して呼び出されます。 ビルド/リリース変数を使用できるため、シークレットを簡単に使用できます。


カスタム スクリプトがアップロードされる 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' 

必要条件

要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 なし
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 2.209.0 以上
タスク カテゴリ 展開
要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 なし
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 2.0.0 以上
タスク カテゴリ 展開