Azure CLI タスク

Azure Pipelines

このタスクは、Azure サブスクリプションに対する Azure CLI コマンドを含むシェルまたはバッチスクリプトを実行する場合に使用します。

このタスクは、Linux、macOS、または Windows オペレーティングシステムで実行されているクロスプラットフォームエージェントで Azure CLI コマンドを実行するために使用されます。

バージョン2.0 の新機能

  • PowerShell と PowerShell Core スクリプトの実行をサポートします。
  • PowerShell Core スクリプトは Xplat エージェント (Windows、Linux、または OSX) と連携し、エージェントに PowerShell バージョン6以降が搭載されていることを確認してください。
  • PowerShell スクリプトは Windows エージェントでのみ動作します。エージェントの PowerShell バージョンが5以下であることを確認してください。

前提条件

  • Microsoft Azure サブスクリプション

  • Azure アカウントへのAzure Resource Manager サービス接続

  • Microsoft ホステッドエージェントは Azure CLI プレインストールされています。 ただし、プライベートエージェントを使用している場合は、ビルドおよびリリースエージェントを実行しているコンピューターに Azure CLI をインストール します。 Azure CLI がインストールされているコンピューターでエージェントが既に実行されている場合は、エージェントを再起動して、関連するすべてのステージ変数が更新されていることを確認します。

タスクの入力

パラメーター 説明
azureSubscription
Azure サブスクリプション
必要デプロイの Azure Resource Manager サブスクリプションを選択します。 このパラメーターは、選択したタスクのバージョンが0の場合にのみ表示されます。 Azure CLI タスク v1.0 では Azure Resource Manager (ARM) サブスクリプションのみがサポートされます。
scriptType
スクリプトの種類
必要スクリプトの種類: powershell/Powershell Core/Bat/シェル スクリプト。 Windows エージェントで実行するときに、Linux エージェントまたはbatch/ps/pscoreスクリプトでbash/pscoreスクリプトを選択します。 PowerShell Core スクリプトは、クロスプラットフォームエージェント (Linux、macOS、または Windows) で実行できます。
scriptLocation
スクリプトの場所
必要スクリプトへのパス: ファイルパスまたはインラインスクリプト
既定値: scriptPath
scriptPath
スクリプトのパス
必要スクリプトの完全修飾パス (Windows ベースのエージェントを使用している場合 .ps1 、または linux ベースのエージェントを使用している場合 .sh ) または既定の作業ディレクトリを基準としたパス
inlineScript
インライン スクリプト
必要ここでは、スクリプトをインラインで記述できます。 Windows エージェントを使用する場合は、PowerShell または PowerShell Core またはバッチスクリプトを使用し、Linux ベースのエージェントを使用する場合は PowerShell Core またはシェルスクリプトを使用します。 バッチファイルの場合は、 \" すべての Azure コマンドの前にプレフィックス呼び出しを使用し \" ます。 また、引数を使用して、定義済みの変数とカスタム変数をこのスクリプトに渡すこともできます。
PowerShell/PowerShellCore/shell の例: az--version az account show
Batch の例: 呼び出し az--version call az account show
arguments
スクリプトの引数
Optionalスクリプトに渡される引数
powerShellErrorActionPreference
ErrorActionPreference
OptionalPowerShell/PowerShell コアスクリプトの先頭に $ErrorActionPreference = ' VALUE ' という行を付加します。
既定値: 停止
オプションは stop、continue、および silentlyContinue です。
addSpnToEnvironment
スクリプトでサービスプリンシパルの詳細にアクセスする
Optional選択した Azure エンドポイントのサービスプリンシパル id とキーをスクリプトの実行環境に追加します。 これらの変数は、スクリプトの $env: servicePrincipalId、$env: servicePrincipalKey、および $env: tenantId で使用できます。 これは、Azure エンドポイントにサービスプリンシパルの認証スキームがある場合にのみ受け入れられます。
既定値: false
useGlobalConfig
グローバル Azure CLI 構成を使用する
Optionalこの値が false の場合、このタスクは個別の Azure CLI 構成ディレクトリを使用します。 これは、 並列 リリースで Azure CLI タスクを実行するために使用できます。
既定値: false
workingDirectory
作業ディレクトリ
Optionalスクリプトが実行される現在の作業ディレクトリ。 Empty は、リポジトリ (ビルド) または成果物 (リリース) のルート ($ (System.defaultworkingdirectory)) です。
failOnStandardError
標準エラーで失敗
OptionalTrue の場合、StandardError ストリームにエラーが書き込まれると、このタスクは失敗します。 標準エラーを無視し、終了コードに依存して状態を確認するには、チェックボックスをオフにします。
既定値: false
powerShellIgnoreLASTEXITCODE
無視 $LASTEXITCODE
OptionalFalse の場合は、 if ((Test-Path -LiteralPath variable:\\LASTEXITCODE)) { exit $LASTEXITCODE } スクリプトの末尾に行が追加されます。 これにより、外部コマンドの最後の終了コードが PowerShell の終了コードとして反映されます。 それ以外の場合、行はスクリプトの末尾に追加されません。
既定値: false

Azure CLI のバージョンを一覧表示し、サブスクリプションの詳細を取得する YAML スニペットの例を次に示します。

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: |
      az --version
      az account show

次の例は、引数をスクリプトに渡す方法を示しています。

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptType: ps
    scriptLocation: inlineScript
    arguments:
      -Arg1 val1 `
      -Arg2 val2 `
      -Arg3 val3
    inlineScript: |
      az login --allow-no-subscription

オープンソース

このタスクは、 GitHub のオープンソースです。 フィードバックと投稿が歓迎されます。

よく寄せられる質問

エージェントは必要ですか?

ビルドまたはリリースを実行するには、エージェントが少なくとも 1 つ必要です。

問題が発生しています。 どのように対処すればよいですか?

ビルドとリリースのトラブルシューティングに関するページを参照してください。

既定のエージェント プールが選択できず、ビルドまたはリリースをキューに入れることができません。 これをどのように修正すればよいですか?

エージェント プール」を参照してください。

NuGet プッシュ タスクが次のエラーで失敗します: "Error: unable to get local issuer certificate" (エラー: ローカル発行者の証明書を取得できません)。 どうしたらいいですか。

これは、信頼されたルート証明書を追加することで修正できます。 ビルド エージェントに NODE_EXTRA_CA_CERTS=file 環境変数を追加するか、パイプラインに NODE.EXTRA.CA.CERTS=file タスク変数を追加することができます。 詳細については、環境変数に関するページを参照してください。