次の方法で共有


AzureCLI@2 - Azure CLI v2 タスク

Linux エージェントで実行する場合は、PowerShell Core/シェル スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。 または、Windows エージェントで実行している場合は、PowerShell/PowerShell コア/バッチ スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。

Linux エージェントで実行する場合は、PowerShell Core/シェル スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。 または、Windows エージェントで実行するときに、PowerShell/Powershell Core/batch スクリプトで Azure サブスクリプションに対して Azure CLI コマンドを実行します。

構文

# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
    #visibleAzLogin: true # boolean. az login output visibility. Default: true.
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/Powershell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.

入力

Azure Resource Manager 接続 を する
入力エイリアス: connectedServiceNameARMstring. 必須。

デプロイ用の Azure Resource Manager サービス接続を選択します。


scriptType - スクリプトの種類
string. 必須。 使用できる値: ps (PowerShell)、pscore (PowerShell Core)、batchbash (シェル)。

スクリプトの種類。 Linux エージェントで実行する場合は、bash または pscore スクリプトを選択します。 または、Windows エージェントで実行するときに、batchps、または pscore スクリプトを選択します。 pscore スクリプトは、クロスプラットフォーム エージェント (Linux、macOS、または Windows) で実行できます。


scriptType - スクリプトの種類
string. 必須。 使用できる値: ps (Powershell)、pscore (Powershell Core)、batchbash (シェル)。

スクリプトの種類。 Linux エージェントで実行する場合は、bash または pscore スクリプトを選択します。 または、Windows エージェントで実行するときに、batchps、または pscore スクリプトを選択します。 pscore スクリプトは、クロスプラットフォーム エージェント (Linux、macOS、または Windows) で実行できます。


scriptLocation - スクリプトの場所の
string. 必須。 使用できる値: inlineScript (インライン スクリプト)、scriptPath (スクリプト パス)。 既定値: scriptPath.

スクリプトへのパス。


scriptPath - スクリプト パスの
string. scriptLocation = scriptPathする場合に必要です。

スクリプトの完全修飾パス。 Windows ベースのエージェントを使用する場合は、.ps1.bat、または .cmd を使用します。 Linux ベースのエージェントまたは既定の作業ディレクトリに対する相対パスを使用する場合は、.ps1 または .sh を使用します。


インライン スクリプト の
string. scriptLocation = inlineScriptする場合に必要です。

スクリプトは、ここでインラインで記述できます。 Windows エージェントを使用する場合は、PowerShell、PowerShell Core、またはバッチ スクリプトを使用します。 Linux ベースのエージェントを使用する場合は、PowerShell Core またはシェル スクリプトを使用します。 バッチ ファイルの場合は、すべての Azure コマンドの前にプレフィックス call を使用します。 引数を使用して、このスクリプトに定義済み変数とカスタム変数を渡すこともできます。

PowerShell/PowerShellCore/shell の例を次に示します。

az --version 
az account show 

バッチの例を次に示します。

call  az --version 
call az account show

arguments - スクリプト引数の
入力エイリアス: scriptArgumentsstring.

スクリプトに渡される引数。


powerShellErrorActionPreference - ErrorActionPreference
string. 任意 scriptType = ps || scriptType = pscoreするときに使用します。 使用できる値: stopcontinuesilentlyContinue。 既定値: stop.

PowerShell/PowerShell Core スクリプトの先頭に $ErrorActionPreference = 'VALUE' 行の先頭に追加します。


スクリプトでサービス プリンシパルの詳細にアクセスする addSpnToEnvironment -
boolean. 既定値: false.

スクリプトの実行環境に、選択した Azure エンドポイントのサービス プリンシパル ID、サービス プリンシパル キーまたはワークロード ID フェデレーション トークン、テナント ID を追加します。 スクリプトでは、servicePrincipalIdservicePrincipalKeyidToken、および tenantId 変数を使用できます。

これは、Azure エンドポイントにサービス プリンシパル認証スキームまたはワークロード ID フェデレーション認証スキームがある場合にのみ適用されます。

次の一覧は、スクリプトの種類に基づいて環境変数にアクセスするための構文を示しています。

  • PowerShell スクリプト構文: $env:servicePrincipalId

  • バッチ スクリプト構文: %servicePrincipalId%

  • シェル スクリプト構文: $servicePrincipalId


useGlobalConfig - グローバル Azure CLI 構成 を使用する
boolean. 既定値: false.

この入力が false の場合、このタスクは独自の Azure CLI 構成ディレクトリを使用します。 このタスクを使用して、並列 リリースで Azure CLI タスク 実行します。


workingDirectory - 作業ディレクトリの
入力エイリアス: cwdstring.

スクリプトが実行されている現在の作業ディレクトリ。 空白のままにした場合、この入力はリポジトリ (ビルド) または成果物 (リリース) のルートであり、$(System.DefaultWorkingDirectory)


標準エラーで失敗する failOnStandardError -
boolean. 既定値: false.

この入力が true の場合、エラーが StandardError ストリームに書き込まれると、このタスクは失敗します。 標準エラーを無視する場合はチェック ボックスをオフにし、代わりに終了コードを使用して状態を判断します。


powerShellIgnoreLASTEXITCODE - 無視$LASTEXITCODE
boolean. 任意 scriptType = ps || scriptType = pscoreするときに使用します。 既定値: false.

この入力が false の場合、スクリプトの末尾に if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } 行が追加されます。 これにより、PowerShell の終了コードとして外部コマンドから最後の終了コードが伝達されます。 それ以外の場合、行はスクリプトの末尾に追加されません。


az login output visibilityvisibleAzLogin - する
boolean. 既定値: true.

これが true に設定されている場合、az login コマンドがタスクに出力されます。 false に設定すると、az login の出力が抑制されます。


タスク コントロールのオプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。

出力変数

なし。

注釈

バージョン タスク バージョン 2.0 の新機能

  • PowerShell と PowerShell Core スクリプトのサポート。
  • PowerShell Core はクロスプラットフォーム エージェント (Linux、macOS、または Windows) で動作し、エージェントに PowerShell バージョン 6 以上があることを確認します。
  • PowerShell スクリプトは Windows エージェントでのみ機能し、エージェントに PowerShell バージョン 5 以下があることを確認します。

前提条件

  • Microsoft Azure サブスクリプション。
  • お使いの Azure アカウントへの Azure Resource Manager サービス接続
  • Microsoft ホステッド エージェントには Azure CLI が事前にインストールされています。 ただし、プライベート エージェントを使用する予定の場合は、ビルドおよびリリースのエージェントを実行するコンピューターに Azure CLI をインストールします。 Azure CLI がインストールされているマシンでエージェントが既に実行中の場合は、関連するすべてのステージ変数が確実に更新されるように、エージェントを再起動します。

例示

次の例では、Azure CLI のバージョンを一覧表示し、サブスクリプションの詳細を取得します。

- 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
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'inlineScript'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        inlineScript: './scripts/publish.ps1 $1 $2'
    
  • スクリプト パスを使用して引数を渡す:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'scriptPath'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        scriptPath: './scripts/publish.ps1'
    

必要条件

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

こちらもご覧ください